home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / Other Langs / MacPerl ƒ / Perl Source ƒ / Perl / perly.c < prev    next >
Text File  |  1993-10-23  |  143KB  |  3,284 lines

  1. #ifndef lint
  2. static char yysccsid[] = "@(#)yaccpar    1.8 (Berkeley) 01/20/91";
  3. #endif
  4. #define YYBYACC 1
  5. #line 37 ":perly.y"
  6. #include "INTERN.h"
  7. #include "perl.h"
  8.  
  9. /*SUPPRESS 530*/
  10. /*SUPPRESS 593*/
  11. /*SUPPRESS 595*/
  12.  
  13. STAB *scrstab;
  14. ARG *arg4;    /* rarely used arguments to make_op() */
  15. ARG *arg5;
  16. ARG *arg6;
  17. #line 52 ":perly.y"
  18. typedef union {
  19.     int    ival;
  20.     char *cval;
  21.     ARG *arg;
  22.     CMD *cmdval;
  23.     struct compcmd compval;
  24.     STAB *stabval;
  25.     FCMD *formval;
  26. } YYSTYPE;
  27. #line 28 "y.tab.c"
  28. #define WORD 257
  29. #define LABEL 258
  30. #define APPEND 259
  31. #define OPEN 260
  32. #define SSELECT 261
  33. #define LOOPEX 262
  34. #define DOTDOT 263
  35. #define USING 264
  36. #define FORMAT 265
  37. #define DO 266
  38. #define SHIFT 267
  39. #define PUSH 268
  40. #define POP 269
  41. #define LVALFUN 270
  42. #define CHOOSE 271
  43. #define FMIN1 272
  44. #define FUNC12 273
  45. #define WHILE 274
  46. #define UNTIL 275
  47. #define IF 276
  48. #define UNLESS 277
  49. #define ELSE 278
  50. #define ELSIF 279
  51. #define CONTINUE 280
  52. #define SPLIT 281
  53. #define FLIST 282
  54. #define FOR 283
  55. #define FILOP 284
  56. #define FILOP2 285
  57. #define FILOP3 286
  58. #define FILOP4 287
  59. #define FILOP22 288
  60. #define FILOP25 289
  61. #define FUNC0 290
  62. #define FUNC1 291
  63. #define FUNC2 292
  64. #define FUNC2x 293
  65. #define FUNC3 294
  66. #define FUNC4 295
  67. #define FUNC5 296
  68. #define HSHFUN 297
  69. #define HSHFUN3 298
  70. #define FLIST2 299
  71. #define SUB 300
  72. #define FILETEST 301
  73. #define LOCAL 302
  74. #define DELETE 303
  75. #define RELOP 304
  76. #define EQOP 305
  77. #define MULOP 306
  78. #define ADDOP 307
  79. #define PACKAGE 308
  80. #define AMPER 309
  81. #define FORMLIST 310
  82. #define REG 311
  83. #define ARYLEN 312
  84. #define ARY 313
  85. #define HSH 314
  86. #define STAR 315
  87. #define SUBST 316
  88. #define PATTERN 317
  89. #define RSTRING 318
  90. #define TRANS 319
  91. #define LISTOP 320
  92. #define OROR 321
  93. #define ANDAND 322
  94. #define UNIOP 323
  95. #define LS 324
  96. #define RS 325
  97. #define MATCH 326
  98. #define NMATCH 327
  99. #define UMINUS 328
  100. #define POW 329
  101. #define INC 330
  102. #define DEC 331
  103. #define YYERRCODE 256
  104. short yylhs[] = {                                        -1,
  105.    26,    0,   25,   25,   12,   12,   12,    5,    3,    6,
  106.     6,    7,    7,    7,    7,    7,   10,   10,   10,   10,
  107.    10,   10,    9,    9,    9,    9,    8,    8,    8,    8,
  108.     8,    8,    8,    8,   11,   11,   21,   21,   24,   24,
  109.     1,    1,    1,    2,    2,   27,   28,   15,   13,   13,
  110.    16,   14,   14,   14,   14,   14,   14,   14,   14,   14,
  111.    14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
  112.    14,   14,   14,   14,   14,   14,   14,   17,   17,   17,
  113.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  114.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  115.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  116.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  117.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  118.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  119.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  120.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  121.    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
  122.    17,   17,   17,   17,   17,   17,   17,   17,   17,   22,
  123.    22,   22,   22,   22,   22,   18,   18,   19,   19,   20,
  124.    20,    4,    4,   23,
  125. };
  126. short yylen[] = {                                         2,
  127.     0,    2,    3,    2,    0,    2,    5,    4,    0,    0,
  128.     2,    1,    2,    1,    2,    3,    1,    1,    3,    3,
  129.     3,    3,    5,    5,    3,    3,    6,    6,    4,    4,
  130.     7,    6,   10,    2,    0,    1,    0,    1,    0,    1,
  131.     1,    1,    1,    4,    3,    3,    3,    2,    3,    1,
  132.     2,    3,    4,    4,    4,    4,    4,    4,    4,    4,
  133.     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  134.     3,    3,    3,    5,    3,    3,    1,    2,    2,    2,
  135.     2,    2,    2,    2,    2,    2,    2,    1,    4,    3,
  136.     2,    2,    2,    1,    1,    4,    1,    1,    5,    6,
  137.     5,    4,    5,    6,    8,    1,    1,    1,    1,    1,
  138.     5,    5,    4,    4,    2,    5,    5,    4,    4,    2,
  139.     1,    2,    1,    2,    2,    1,    2,    4,    7,    2,
  140.     4,    5,    4,    2,    2,    3,    1,    5,    6,    6,
  141.     7,    9,    6,    2,    4,    2,    4,    1,    1,    6,
  142.     5,    4,    5,    4,    4,    5,    2,    1,    1,    3,
  143.     3,    4,    5,    5,    6,    4,    5,    6,    7,    8,
  144.     6,    7,    8,    9,    4,    2,    6,    1,    1,    1,
  145.     2,    2,    3,    3,    3,    1,    1,    1,    1,    1,
  146.     1,    2,    1,    1,
  147. };
  148. short yydefred[] = {                                      1,
  149.     0,   10,    0,   40,    0,    0,    0,   12,   41,   11,
  150.    14,    0,   42,   43,    0,    0,    0,    0,   17,    9,
  151.   194,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  152.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  153.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  154.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  155.   106,    0,   97,   95,  109,  108,  107,  110,    0,    0,
  156.     0,    0,    0,    0,    0,   15,    0,    0,    0,   13,
  157.     0,    0,    0,    0,  179,  178,   34,    0,   45,   46,
  158.    47,   10,  130,    0,  127,    0,  122,    0,    0,   93,
  159.     0,  188,  189,    0,  146,    0,    0,  144,  157,    0,
  160.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  161.     0,    0,    0,    0,  134,  135,    0,    0,    0,    0,
  162.     0,    0,    0,    0,    0,    0,    0,    0,    0,  190,
  163.   191,    0,  176,    0,    0,   86,    0,    0,    0,    0,
  164.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  165.   124,    0,    0,    0,   84,   85,    0,    0,    0,    0,
  166.     0,    0,    0,    4,   16,    0,    0,    0,    0,    0,
  167.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  168.     0,    0,    0,    0,    0,    0,    0,   82,   83,   44,
  169.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  170.     0,    0,    0,    0,    0,    0,    0,   29,    0,   30,
  171.     0,   25,    0,   26,    0,    0,    0,   36,    0,    0,
  172.   136,    0,    0,    0,    0,    0,    0,  160,  161,    0,
  173.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  174.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  175.     0,  193,    0,    0,    6,    0,    3,    0,    0,    0,
  176.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  177.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  178.     0,    0,    0,    0,    0,    0,    0,    8,  131,    0,
  179.     0,    0,    0,  128,  113,    0,  118,    0,  147,    0,
  180.   145,    0,  155,    0,  166,    0,    0,    0,    0,    0,
  181.   152,    0,  154,    0,    0,    0,  133,    0,    0,    0,
  182.     0,    0,  162,    0,    0,    0,    0,    0,  175,    0,
  183.     0,   89,    0,    0,  114,    0,  119,    0,    0,   96,
  184.     0,  102,    0,  192,    0,    0,    0,    0,    0,    0,
  185.     0,    0,    0,    0,    0,    0,  132,    0,    0,  111,
  186.   116,    0,    0,  156,  167,   27,   28,   23,   24,  151,
  187.     0,    0,    0,   32,  138,    0,    0,    0,    0,  163,
  188.   164,    0,    0,    0,    0,    0,  153,    0,    0,  112,
  189.   117,   99,  103,  101,    0,    0,    0,    0,  143,  171,
  190.     0,  150,   31,    0,  139,    0,  140,    0,  165,  168,
  191.     0,    0,  177,  104,    0,  100,    7,  129,  172,    0,
  192.     0,  141,    0,  169,    0,    0,  173,    0,    0,    0,
  193.   170,  105,  174,   33,  142,
  194. };
  195. short yydgoto[] = {                                       1,
  196.     8,    9,   92,  264,   79,    3,   10,   11,   80,  228,
  197.   229,  174,   82,   83,  301,  303,   84,  204,  105,  143,
  198.   217,   85,   86,   12,   87,    2,   13,   14,
  199. };
  200. short yysindex[] = {                                      0,
  201.     0,    0, -163,    0,  -58, -188, -180,    0,    0,    0,
  202.     0,  464,    0,    0,   29, -191,   17,   89,    0,    0,
  203.     0,  -29,  -20, -102,  385,  -28,  137,  -26, 3241,  164,
  204.   166,  177,   -3,    2,    3,    9,  179,  185,  -39,  -35,
  205.   202,  209,  211,  212,  214,  216,  217,  220,  226,  228,
  206.   231,  235,  -36,  237,  240, 3530,  248,  -25, -235,  -51,
  207.     0,  -12,    0,    0,    0,    0,    0,    0,  825,  892,
  208.  3241, 3241, 3241, 3241,  964,    0, 3241, 3241,  110,    0,
  209.   205,  134, 1178, -134,    0,    0,    0,  -69,    0,    0,
  210.     0,    0,    0, 3597,    0, 3669,    0,  249,   -5,    0,
  211.   208,    0,    0, -233,    0, -233, -233,    0,    0, 3241,
  212.  3241, 3241, 3241,   17, 3241,   17, 3241,   17, 3241,   17,
  213.  3241, 3241,  252, 1253,    0,    0, 1320, 3669, 3669, 3669,
  214.  3669, 3669,  207, 1392, 3241, 3241, 3241, 3241, 3241,    0,
  215.     0, -236,    0, -236, 3241,    0,  208, 3241,  170,   -4,
  216.   266,  270, 3241, 3241, 3241, 3241, 3241, 6351, 3241,  272,
  217.     0,  208, -134, -134,    0,    0,  229,   50, -134, -134,
  218.    17,  286,   17,    0,    0, 3241, 3241, 3241, 3241, 3241,
  219.  3241, 3241, 3241, 1681, 1748, 3241, 3241, 3241, 3241, 1820,
  220.  2109, 2176, 2248, 2537, 3241, 3241, 2604,    0,    0,    0,
  221.  -116,  289, 1178,  295,    0, 6208,  302, 2676, 2743,  306,
  222.   318,  322, 6208, 1861, 2289,  272,  323,    0,  103,    0,
  223.   135,    0,  144,    0, 5484,   50, 3241,    0,  335,   20,
  224.     0,  364,  295,  362,  362,  368,  369,    0,    0,  145,
  225.  6265, 6208, 6208, 6208, 6208,  375,  362, 6265,   50, 3241,
  226.   294, 3035, 3102,  -15,  -19,  -13,  -18,  272,  272,  272,
  227.  3241,    0, 3174,  328,    0, 3241,    0,  272,  272,  272,
  228.   272, 1178,  224,  208, -113, 3241, -288, 3241, -176, 1178,
  229.  1608,  297,  567, 3241,   -2, 3241,   -2, 3241, -124, 3241,
  230.   173, 3241,  173,   91,   91, 3241,   91,    0,    0, 3241,
  231.   382, 3241,  362,    0,    0,   50,    0,   50,    0, 3241,
  232.     0,  362,    0,  383,    0,  386,   17,   17,   17,   17,
  233.     0,  146,    0,   50, 3241,   17,    0,  388,  295,  362,
  234.  3669, 3669,    0,  392,  154,  295,  362,  362,    0,  295,
  235.   393,    0,   37, 3241,    0,   50,    0,   50,  301,    0,
  236.   313,    0,  -10,    0, 3241,  182, 1178, 1178, 3241, 1178,
  237.  1178, 1178, 1178, 1178, 1178,  272,    0, 1178,  362,    0,
  238.     0,   50,  183,    0,    0,    0,    0,    0,    0,    0,
  239.   398,   17,  381,    0,    0,  412,  295,  413,  362,    0,
  240.     0,  414,  434,  295,  362,  440,    0,  357,   38,    0,
  241.     0,    0,    0,    0,    6,   17, 2032,  442,    0,    0,
  242.   189,    0,    0, 1253,    0,  444,    0,  362,    0,    0,
  243.   455,  295,    0,    0,  376,    0,    0,    0,    0,  194,
  244.   462,    0,  295,    0,  469,  471,    0,  472,   17,  475,
  245.     0,    0,    0,    0,    0,
  246. };
  247. short yyrindex[] = {                                      0,
  248.     0,    0,  175,    0,    0,    0,    0,    0,    0,    0,
  249.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  250.     0,    0, 3935, 3972,    0, 4009,    0,    0, 5642,    0,
  251.     0,    0,    0,    0,    0,    0, 4046,    0,    0, 4083,
  252.     0,    0,    0,    0,    0, 4120,    0,    0,    0,    0,
  253.     0,    0,    0,    0,    0, 5738,    0,    0,    0, 4158,
  254.     0, 4414,    0,    0,    0,    0,    0,    0, 5806, 5815,
  255.     0,    0,    0,    0,    0,    0,    0,    0,   84,    0,
  256.     0,   26, 4248, 5882,    0,    0,    0,    0,    0,    0,
  257.     0,    0,    0,    0,    0,    0,    0, 4452, 4158,    0,
  258.  5394,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  259.     0,    0,  476,    0,    0,    0,    0,    0,    0,    0,
  260.     0,    0,    0,  463,    0,    0,    0,    0,    0,    0,
  261.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  262.     0,    0,    0,    0,    0,    0, 5418,    0,    0,    0,
  263.  4489, 4526,    0,    0,    0,    0, 5961, 4158,    0, 4637,
  264.     0, 5456, 6105, 6181,    0,    0, 4563,    0, 6218, 6278,
  265.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  266.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  267.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  268.   536, 1433,  195,    0,  984,  484,    0,    0,    0,    0,
  269.     0,    0,    0,    0,    0,   51,    0,    0,    0,    0,
  270.     0,    0,    0,    0,    0,    0,    0,    0,    0,  465,
  271.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  272.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  273.     0,    0,    0,    0,    0,    0,    0, 4857, 4894, 4931,
  274.     0,    0,    0, 4600,    0,    0,    0,   62,   82,   87,
  275.    93, 4285, 3672,  -31, 5494,    0, 5042,    0, 5080, 4322,
  276.     0, 6516, 6438,    0, 5831,    0, 6614,    0, 5518,    0,
  277.  5330,    0, 5354,    7, 4968,    0, 5005,    0,    0,    0,
  278.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  279.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  280.     0,    0,    0,    0,  467,    0,    0,    0,    0,    0,
  281.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  282.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  283.     0,    0,    0,    0,    0,    0, 4728, 4765,    0, 5293,
  284.  6405, 6522, 6644, 6651, 6681,  495,    0,  206,    0,    0,
  285.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  286.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  287.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  288.     0,    0,    0,    0,    0,    0, 3507,    0,    0,    0,
  289.     0,    0,    0,  497,    0,    0,    0,    0,    0,    0,
  290.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  291.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  292.     0,    0,    0,    0,    0,
  293. };
  294. short yygindex[] = {                                      0,
  295.     0,    0,    0,  614,  -17,  447,    0,    0,    0,  528,
  296.   127,    0, 6871,  -23,  647, 2852,  483,  -73,   32,   -9,
  297.   218,    0,    0,    0,  201,    0,    0,    0,
  298. };
  299. #define YYTABLESIZE 7226
  300. short yytable[] = {                                      90,
  301.   124,  101,   16,  142,  127,  109,   66,  100,  298,   66,
  302.    94,  104,   66,  107,  150,  114,  116,  118,  120,   96,
  303.   140,  151,  207,  102,  180,  180,   66,   66,  180,   66,
  304.   180,   66,  147,  180,  209,  192,  113,  195,  196,  154,
  305.   197,  115,  117,  349,   75,  351,  162,   75,  119,  180,
  306.    75,  159,  161,  232,  233,  234,  235,  236,  237,  108,
  307.   262,   66,   66,  263,   75,   75,   18,   75,   17,   75,
  308.   203,  153,  206,  350,  352,  152,   18,  141,  156,  103,
  309.   180,  180,  404,    5,   18,  154,  213,  214,  215,   88,
  310.   262,   38,   66,  263,    4,  398,  425,  225,  426,   75,
  311.    75,    5,   21,  203,  203,  203,  203,  203,  203,   38,
  312.   155,  241,  242,  243,  244,  245,    5,  153,   89,   20,
  313.    21,  248,   22,    5,   20,   20,    5,   19,    5,  184,
  314.    75,   20,  246,   20,  247,  210,    6,  211,  212,   20,
  315.    22,    4,    5,  318,    7,   19,  180,   91,    5,  195,
  316.   196,   20,  197,  265,   97,  267,  272,  273,  274,  275,
  317.   277,  279,  280,  281,  282,  283,  285,  287,  289,  291,
  318.   293,  294,  295,  297,    2,  319,  106,  180,  180,  182,
  319.   183,  184,  185,    6,  320,  333,  380,  180,  180,  302,
  320.   182,    7,  184,  185,  391,  198,  199,  300,   15,  193,
  321.   194,  195,  196,  110,  197,  111,    5,   39,    5,    5,
  322.   193,  194,  195,  196,   39,  197,  112,   39,  121,   39,
  323.   140,  125,  406,  410,  122,  180,  302,   93,  102,  429,
  324.   102,   66,  302,   39,  437,  187,   95,  302,  187,  272,
  325.   200,  128,   66,   66,   66,   66,   51,  238,  129,   51,
  326.   130,  131,  357,  132,  358,  133,  134,  388,  389,  135,
  327.   360,  192,  361,  175,  362,  136,  363,  137,  364,   75,
  328.   138,  123,  365,   66,  139,  126,  144,  141,  368,  145,
  329.    75,   75,   75,   75,  103,  149,  103,  148,  208,   66,
  330.    66,  227,  250,  176,  177,  178,  179,   39,   66,   66,
  331.    39,  182,  183,  184,  185,  252,  251,  203,  203,  253,
  332.    75,   75,   75,   75,  218,  180,  220,  191,  222,  261,
  333.   224,  193,  194,  195,  196,  266,  197,   75,   75,  299,
  334.    75,   75,   75,   75,  192,  407,   75,   75,  300,    5,
  335.     5,    5,  304,    5,    5,    5,  309,  190,    5,    5,
  336.     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  337.     5,  310,  311,  317,    5,    5,    5,    5,    5,    5,
  338.     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
  339.     5,    5,    5,    5,    5,    5,    5,  171,  172,  173,
  340.   191,    5,    5,  325,    5,    5,    5,    5,    5,    5,
  341.     5,    5,    5,    5,  327,  302,    5,  176,  177,  178,
  342.   179,  331,  332,    5,    5,  339,  344,   71,  355,  197,
  343.   190,  444,  367,  374,   75,  402,  375,   78,  385,   77,
  344.    39,   39,  390,  397,   39,   39,   39,  403,  412,  414,
  345.    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
  346.    39,   39,  415,  417,  419,   39,   39,   39,   39,   39,
  347.    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
  348.    39,   39,   39,   39,  420,   39,   39,   39,  184,  185,
  349.   423,  424,  428,   39,  432,   39,   39,   39,   39,   39,
  350.    39,   39,   39,   39,   39,  434,   71,   39,  195,  196,
  351.   436,  197,  439,   75,   39,   39,   78,   20,   77,  441,
  352.    72,  442,  443,  184,  185,  445,   37,  376,  377,  378,
  353.   379,   35,   76,   18,  187,   37,  384,  182,  183,  184,
  354.   185,  193,  194,  195,  196,   48,  197,   35,  201,   81,
  355.   431,    0,  383,    0,  188,  189,    0,  193,  194,  195,
  356.   196,    0,  197,  163,  164,  165,  166,    0,    0,  169,
  357.   170,    0,    0,    0,    0,    0,    0,    0,   39,    0,
  358.     0,    0,    0,    0,    0,   39,    0,    0,   39,    0,
  359.    39,    0,  413,    0,    0,    0,   20,    0,    0,   72,
  360.     0,    0,    0,    0,   39,    0,    0,    0,    0,    0,
  361.   182,  183,  184,  185,  192,    0,  427,    0,    0,    0,
  362.     0,    0,    0,    0,    0,    0,    0,    0,  189,    0,
  363.   193,  194,  195,  196,    0,  197,    0,    0,    0,    0,
  364.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  365.     0,   98,    0,    0,   22,   23,   24,    0,    0,    0,
  366.    25,   26,   27,   28,   29,   30,   31,   32,   39,    0,
  367.   191,   39,    0,    0,    0,   37,   38,    0,   40,   41,
  368.    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
  369.    52,   53,   54,   55,    0,   56,   57,   58,    0,    0,
  370.   190,    0,    0,   59,    0,   99,   61,   62,   63,   64,
  371.    65,   66,   67,   68,   69,    0,    0,   70,    0,    0,
  372.     0,    0,    0,    0,   73,   74,    0,    0,    0,   19,
  373.    21,    0,    0,   22,   23,   24,    0,    0,    0,   25,
  374.    26,   27,   28,   29,   30,   31,   32,   33,   34,   35,
  375.    36,    0,    0,    0,   37,   38,   39,   40,   41,   42,
  376.    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
  377.    53,   54,   55,    0,   56,   57,   58,    0,    0,    0,
  378.     0,    0,   59,    0,   60,   61,   62,   63,   64,   65,
  379.    66,   67,   68,   69,    0,    0,   70,    0,    0,    0,
  380.     0,   39,   39,   73,   74,   39,   39,   39,    0,    0,
  381.     0,   39,   39,   39,   39,   39,   39,   39,   39,   39,
  382.    39,   39,   39,    0,    0,    0,   39,   39,   39,   39,
  383.    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
  384.    39,   39,   39,   39,   39,    0,   39,   39,   39,  323,
  385.     0,    0,    0,  326,   39,    0,   39,   39,   39,   39,
  386.    39,   39,   39,   39,   39,   39,    0,   71,   39,    0,
  387.   314,  316,  342,    0,   75,   39,   39,   78,    0,   77,
  388.   182,  183,  184,  185,    0,    0,    0,    0,    0,  328,
  389.     0,    0,    0,    0,    0,    0,    0,  334,    0,    0,
  390.   193,  194,  195,  196,  341,  197,    0,    0,    0,    0,
  391.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  392.     0,    0,    0,    0,    0,    0,    0,    0,    0,  370,
  393.     0,  371,    0,    0,   71,    0,    0,    0,    0,    0,
  394.     0,   75,    0,    0,   78,    0,   77,  382,    0,    0,
  395.     0,    0,    0,    0,    0,    0,    0,   20,    0,    0,
  396.    72,    0,    0,    0,    0,    0,    0,    0,    0,  400,
  397.     0,  401,    0,    0,    0,    0,    0,    0,    0,    0,
  398.     0,    0,    0,    0,    0,  386,    0,    0,    0,    0,
  399.     0,  392,  393,    0,    0,  409,  396,    0,    0,    0,
  400.     0,    0,    0,    0,    0,    0,   71,    0,    0,    0,
  401.     0,    0,    0,   75,  167,    0,   78,    0,   77,    0,
  402.     0,    0,    0,    0,   20,    0,    0,   72,    0,    0,
  403.     0,  194,    0,    0,  186,    0,    0,  186,    0,    0,
  404.     0,    0,    0,  416,    0,    0,    0,    0,    0,    0,
  405.   421,    0,    0,    0,  194,    0,  194,    0,    0,    0,
  406.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  407.     0,    0,    0,    0,    0,    0,    0,    0,  435,    0,
  408.     0,    0,    0,    0,    0,    0,    0,  194,    0,  440,
  409.     0,  157,    0,    0,   22,   23,   24,    0,    0,   72,
  410.    25,   26,   27,   28,   29,   30,   31,   32,    0,    0,
  411.     0,    0,    0,    0,    0,   37,   38,  194,   40,   41,
  412.    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
  413.    52,   53,   54,   55,    0,   56,   57,   58,    0,    0,
  414.     0,    0,    0,   59,    0,  158,   61,   62,   63,   64,
  415.    65,   66,   67,   68,   69,    0,    0,   70,   21,    0,
  416.     0,   22,   23,   24,   73,   74,    0,   25,   26,   27,
  417.    28,   29,   30,   31,   32,    0,    0,    0,    0,    0,
  418.     0,    0,   37,   38,    0,   40,   41,   42,   43,   44,
  419.    45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
  420.    55,    0,   56,   57,   58,    0,    0,    0,    0,    0,
  421.    59,    0,   60,   61,   62,   63,   64,   65,   66,   67,
  422.    68,   69,    0,    0,   70,  192,    0,    0,    0,    0,
  423.    21,   73,   74,   22,   23,   24,    0,    0,    0,   25,
  424.    26,   27,   28,   29,   30,   31,   32,    0,  186,    0,
  425.   187,    0,    0,    0,   37,   38,  194,   40,   41,   42,
  426.    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
  427.    53,   54,   55,    0,   56,   57,   58,    0,    0,    0,
  428.     0,  191,   59,    0,   60,   61,   62,   63,   64,   65,
  429.    66,   67,   68,   69,    0,   71,   70,  194,  194,  194,
  430.   194,    0,   75,   73,   74,   78,    0,   77,    0,    0,
  431.     0,  190,    0,    0,  194,  194,    0,  194,  194,  194,
  432.   194,    0,  194,  194,  194,    0,    0,    0,    0,    0,
  433.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  434.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  435.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  436.     0,    0,   71,    0,    0,    0,    0,    0,    0,   75,
  437.   231,    0,   78,    0,   77,    0,    0,    0,    0,    0,
  438.     0,    0,    0,    0,    0,    0,    0,    0,   72,    0,
  439.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  440.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  441.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  442.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  443.     0,    0,    0,    0,   71,    0,    0,    0,    0,    0,
  444.     0,   75,  239,    0,   78,    0,   77,    0,    0,    0,
  445.   181,    0,    0,    0,    0,   72,    0,    0,    0,    0,
  446.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  447.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  448.   194,    0,    0,    0,    0,    0,  186,    0,    0,    0,
  449.     0,  182,  183,  184,  185,    0,    0,    0,    0,    0,
  450.     0,    0,    0,  194,    0,  194,    0,    0,  188,  189,
  451.     0,  193,  194,  195,  196,    0,  197,    0,   19,   21,
  452.     0,    0,   22,   23,   24,    0,    0,   72,   25,   26,
  453.    27,   28,   29,   30,   31,   32,  194,    0,    0,    0,
  454.     0,    0,    0,   37,   38,    0,   40,   41,   42,   43,
  455.    44,   45,   46,   47,   48,   49,   50,   51,   52,   53,
  456.    54,   55,    0,   56,   57,   58,  194,    0,    0,    0,
  457.     0,   59,    0,   60,   61,   62,   63,   64,   65,   66,
  458.    67,   68,   69,    0,    0,   70,  205,    0,    0,   22,
  459.    23,   24,   73,   74,    0,   25,   26,   27,   28,   29,
  460.    30,   31,   32,    0,    0,    0,    0,    0,    0,    0,
  461.    37,   38,    0,   40,   41,   42,   43,   44,   45,   46,
  462.    47,   48,   49,   50,   51,   52,   53,   54,   55,    0,
  463.    56,   57,   58,    0,    0,    0,    0,    0,   59,    0,
  464.    60,   61,   62,   63,   64,   65,   66,   67,   68,   69,
  465.     0,    0,   70,    0,    0,  192,    0,    0,   21,   73,
  466.    74,   22,   23,   24,    0,    0,    0,   25,   26,   27,
  467.    28,   29,   30,   31,   32,  359,    0,    0,  186,    0,
  468.   187,    0,   37,   38,    0,   40,   41,   42,   43,   44,
  469.    45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
  470.    55,    0,   56,   57,   58,  194,    0,    0,    0,    0,
  471.    59,  191,   60,   61,   62,   63,   64,   65,   66,   67,
  472.    68,   69,    0,   71,   70,    0,    0,    0,    0,    0,
  473.    75,   73,   74,   78,    0,   77,    0,    0,    0,    0,
  474.     0,  190,    0,    0,    0,    0,  194,  194,  194,  194,
  475.     0,  276,    0,    0,    0,    0,    0,    0,    0,    0,
  476.     0,    0,    0,  194,  194,    0,  194,  194,  194,  194,
  477.     0,  194,  194,  194,    0,    0,    0,    0,    0,    0,
  478.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  479.    71,    0,    0,    0,    0,    0,    0,   75,    0,    0,
  480.    78,    0,   77,    0,    0,    0,    0,    0,    0,    0,
  481.     0,    0,    0,    0,    0,    0,   72,    0,  278,    0,
  482.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  483.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  484.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  485.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  486.     0,    0,   71,    0,    0,    0,    0,    0,    0,   75,
  487.     0,    0,   78,    0,   77,    0,    0,    0,    0,    0,
  488.   181,    0,    0,   72,    0,    0,    0,    0,    0,    0,
  489.   284,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  490.     0,    0,    0,    0,    0,    0,    0,    0,  192,    0,
  491.     0,  313,    0,    0,  300,    0,    0,    0,    0,    0,
  492.     0,  182,  183,  184,  185,    0,    0,    0,    0,    0,
  493.     0,  186,    0,  187,    0,    0,    0,    0,  188,  189,
  494.     0,  193,  194,  195,  196,    0,  197,   21,    0,    0,
  495.    22,   23,   24,    0,    0,   72,   25,   26,   27,   28,
  496.    29,   30,   31,   32,  191,    0,    0,    0,    0,    0,
  497.     0,   37,   38,    0,   40,   41,   42,   43,   44,   45,
  498.    46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
  499.     0,   56,   57,   58,  190,    0,    0,    0,    0,   59,
  500.     0,   60,   61,   62,   63,   64,   65,   66,   67,   68,
  501.    69,    0,    0,   70,   21,    0,    0,   22,   23,   24,
  502.    73,   74,    0,   25,   26,   27,   28,   29,   30,   31,
  503.    32,    0,    0,    0,    0,    0,    0,    0,   37,   38,
  504.     0,   40,   41,   42,   43,   44,   45,   46,   47,   48,
  505.    49,   50,   51,   52,   53,   54,   55,    0,   56,   57,
  506.    58,    0,    0,    0,    0,    0,   59,    0,   60,   61,
  507.    62,   63,   64,   65,   66,   67,   68,   69,    0,  192,
  508.    70,    0,    0,    0,    0,    0,   21,   73,   74,   22,
  509.    23,   24,    0,    0,    0,   25,   26,   27,   28,   29,
  510.    30,   31,   32,    0,  187,    0,    0,    0,    0,    0,
  511.    37,   38,    0,   40,   41,   42,   43,   44,   45,   46,
  512.    47,   48,   49,   50,   51,   52,   53,   54,   55,    0,
  513.    56,   57,   58,  181,    0,  191,    0,    0,   59,    0,
  514.    60,   61,   62,   63,   64,   65,   66,   67,   68,   69,
  515.     0,   71,   70,    0,    0,    0,    0,    0,   75,   73,
  516.    74,   78,    0,   77,    0,  190,    0,    0,    0,    0,
  517.     0,    0,    0,    0,  182,  183,  184,  185,    0,  286,
  518.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  519.     0,  188,  189,    0,  193,  194,  195,  196,    0,  197,
  520.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  521.     0,    0,    0,    0,    0,    0,    0,    0,   71,    0,
  522.     0,    0,    0,    0,    0,   75,    0,    0,   78,    0,
  523.    77,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  524.     0,    0,    0,    0,   72,    0,  288,    0,    0,    0,
  525.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  526.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  527.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  528.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  529.    71,    0,    0,    0,    0,    0,    0,   75,    0,    0,
  530.    78,    0,   77,    0,  181,    0,    0,    0,    0,    0,
  531.     0,   72,    0,    0,    0,    0,    0,    0,  290,    0,
  532.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  533.     0,    0,    0,    0,    0,    0,  192,    0,    0,  315,
  534.     0,    0,  300,    0,    0,  182,  183,  184,  185,    0,
  535.     0,    0,    0,    0,    0,    0,    0,    0,    0,  186,
  536.     0,  187,  188,  189,    0,  193,  194,  195,  196,    0,
  537.   197,    0,    0,    0,    0,   21,    0,    0,   22,   23,
  538.    24,    0,    0,   72,   25,   26,   27,   28,   29,   30,
  539.    31,   32,  191,    0,    0,    0,    0,    0,    0,   37,
  540.    38,    0,   40,   41,   42,   43,   44,   45,   46,   47,
  541.    48,   49,   50,   51,   52,   53,   54,   55,    0,   56,
  542.    57,   58,  190,    0,    0,    0,    0,   59,    0,   60,
  543.    61,   62,   63,   64,   65,   66,   67,   68,   69,    0,
  544.     0,   70,   21,    0,    0,   22,   23,   24,   73,   74,
  545.     0,   25,   26,   27,   28,   29,   30,   31,   32,    0,
  546.     0,    0,    0,    0,    0,    0,   37,   38,    0,   40,
  547.    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
  548.    51,   52,   53,   54,   55,    0,   56,   57,   58,    0,
  549.     0,    0,    0,    0,   59,    0,   60,   61,   62,   63,
  550.    64,   65,   66,   67,   68,   69,    0,    0,   70,    0,
  551.     0,    0,    0,    0,   21,   73,   74,   22,   23,   24,
  552.     0,    0,    0,   25,   26,   27,   28,   29,   30,   31,
  553.    32,    0,    0,    0,    0,    0,    0,    0,   37,   38,
  554.     0,   40,   41,   42,   43,   44,   45,   46,   47,   48,
  555.    49,   50,   51,   52,   53,   54,   55,    0,   56,   57,
  556.    58,  181,    0,    0,    0,    0,   59,    0,   60,   61,
  557.    62,   63,   64,   65,   66,   67,   68,   69,    0,   71,
  558.    70,    0,    0,    0,    0,    0,   75,   73,   74,   78,
  559.     0,   77,    0,    0,    0,    0,    0,    0,    0,    0,
  560.     0,    0,  182,  183,  184,  185,    0,  292,    0,    0,
  561.     0,    0,    0,    0,    0,    0,    0,    0,    0,  188,
  562.   189,    0,  193,  194,  195,  196,    0,  197,    0,    0,
  563.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  564.     0,    0,    0,    0,    0,    0,   71,    0,    0,    0,
  565.     0,    0,    0,   75,    0,    0,   78,    0,   77,    0,
  566.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  567.     0,    0,   72,    0,  296,    0,    0,    0,    0,    0,
  568.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  569.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  570.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  571.     0,    0,    0,    0,    0,    0,    0,    0,   71,    0,
  572.     0,    0,    0,    0,    0,   75,  305,    0,   78,    0,
  573.    77,    0,    0,    0,    0,    0,    0,    0,    0,   72,
  574.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  575.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  576.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  577.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  578.     0,    0,    0,    0,    0,   71,    0,    0,    0,    0,
  579.     0,    0,   75,  307,    0,   78,    0,   77,    0,    0,
  580.     0,    0,    0,   21,    0,    0,   22,   23,   24,    0,
  581.     0,   72,   25,   26,   27,   28,   29,   30,   31,   32,
  582.     0,    0,    0,    0,    0,    0,    0,   37,   38,    0,
  583.    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
  584.    50,   51,   52,   53,   54,   55,    0,   56,   57,   58,
  585.     0,    0,    0,    0,    0,   59,    0,   60,   61,   62,
  586.    63,   64,   65,   66,   67,   68,   69,    0,    0,   70,
  587.    21,    0,    0,   22,   23,   24,   73,   74,   72,   25,
  588.    26,   27,   28,   29,   30,   31,   32,    0,    0,    0,
  589.     0,    0,    0,    0,   37,   38,    0,   40,   41,   42,
  590.    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
  591.    53,   54,   55,    0,   56,   57,   58,    0,    0,    0,
  592.     0,    0,   59,    0,   60,   61,   62,   63,   64,   65,
  593.    66,   67,   68,   69,    0,    0,   70,    0,    0,    0,
  594.     0,    0,   21,   73,   74,   22,   23,   24,    0,    0,
  595.     0,   25,   26,   27,   28,   29,   30,   31,   32,    0,
  596.     0,    0,    0,    0,    0,    0,   37,   38,    0,   40,
  597.    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
  598.    51,   52,   53,   54,   55,    0,   56,   57,   58,    0,
  599.     0,    0,    0,    0,   59,    0,   60,   61,   62,   63,
  600.    64,   65,   66,   67,   68,   69,    0,    0,   70,   21,
  601.     0,    0,   22,   23,   24,   73,   74,    0,   25,   26,
  602.    27,   28,   29,   30,   31,   32,    0,    0,    0,    0,
  603.     0,    0,    0,   37,   38,    0,   40,   41,   42,   43,
  604.    44,   45,   46,   47,   48,   49,   50,   51,   52,   53,
  605.    54,   55,    0,   56,   57,   58,    0,    0,    0,    0,
  606.     0,   59,    0,   60,   61,   62,   63,   64,   65,   66,
  607.    67,   68,   69,    0,  312,   70,    0,   71,    0,    0,
  608.     0,    0,   73,   74,   75,  345,  322,   78,    0,   77,
  609.     0,    0,    0,    0,    0,  329,  330,    0,    0,    0,
  610.     0,    0,    0,  335,  336,  337,  338,    0,  340,    0,
  611.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  612.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  613.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  614.     0,    0,    0,    0,   71,    0,    0,    0,    0,    0,
  615.     0,   75,  347,    0,   78,    0,   77,    0,    0,    0,
  616.     0,    0,    0,    0,  369,    0,    0,    0,    0,    0,
  617.    72,    0,    0,  373,    0,    0,    0,    0,    0,    0,
  618.     0,    0,    0,  381,    0,    0,    0,    0,    0,    0,
  619.     0,  387,    0,    0,    0,    0,    0,    0,  394,  395,
  620.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  621.     0,    0,    0,    0,    0,    0,   71,    0,    0,    0,
  622.     0,    0,    0,   75,  354,    0,   78,    0,   77,    0,
  623.   408,    0,    0,    0,  411,    0,    0,   72,    0,    0,
  624.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  625.   418,    0,    0,    0,    0,    0,  422,    0,    0,    0,
  626.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  627.     0,    0,  430,    0,    0,    0,    0,    0,    0,  433,
  628.     0,    0,    0,   71,    0,    0,    0,    0,    0,    0,
  629.    75,  438,    0,   78,    0,   77,    0,    0,    0,    0,
  630.     0,   21,    0,    0,   22,   23,   24,    0,    0,   72,
  631.    25,   26,   27,   28,   29,   30,   31,   32,    0,    0,
  632.     0,    0,    0,    0,    0,   37,   38,    0,   40,   41,
  633.    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
  634.    52,   53,   54,   55,    0,   56,   57,   58,    0,    0,
  635.     0,    0,    0,   59,    0,   60,   61,   62,   63,   64,
  636.    65,   66,   67,   68,   69,    0,    0,   70,   21,    0,
  637.     0,   22,   23,   24,   73,   74,   72,   25,   26,   27,
  638.    28,   29,   30,   31,   32,    0,    0,    0,    0,    0,
  639.     0,    0,   37,   38,    0,   40,   41,   42,   43,   44,
  640.    45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
  641.    55,    0,   56,   57,   58,    0,    0,    0,    0,    0,
  642.    59,    0,   60,   61,   62,   63,   64,   65,   66,   67,
  643.    68,   69,    0,    0,   70,    0,    0,    0,    0,    0,
  644.    21,   73,   74,   22,   23,   24,    0,    0,    0,   25,
  645.    26,   27,   28,   29,   30,   31,   32,    0,    0,    0,
  646.     0,    0,    0,    0,   37,   38,    0,   40,   41,   42,
  647.    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
  648.    53,   54,   55,    0,   56,   57,   58,    0,    0,    0,
  649.     0,    0,   59,    0,   60,   61,   62,   63,   64,   65,
  650.    66,   67,   68,   69,    0,    0,   70,   21,    0,    0,
  651.    22,   23,   24,   73,   74,    0,   25,   26,   27,   28,
  652.    29,   30,   31,   32,    0,    0,    0,    0,    0,    0,
  653.     0,   37,   38,    0,   40,   41,   42,   43,   44,   45,
  654.    46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
  655.     0,   56,   57,   58,    0,    0,    0,   74,    0,   59,
  656.    74,   60,   61,   62,   63,   64,   65,   66,   67,   68,
  657.    69,    0,   71,   70,   74,   74,    0,   74,    0,   75,
  658.    73,   74,   78,    0,   77,    0,    0,    0,    0,    0,
  659.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  660.     0,    0,    0,    0,    0,    0,    0,    0,    0,   74,
  661.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  662.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  663.     0,    0,    0,    0,    0,    0,    0,    0,    0,   71,
  664.     0,    0,    0,    0,    0,    0,   75,    0,    0,   78,
  665.     0,   77,    0,    0,    0,    0,    0,    0,    0,    0,
  666.     0,    0,    0,    0,    0,   72,    0,    0,    0,    0,
  667.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  668.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  669.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  670.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  671.     0,   71,    0,    0,    0,    0,    0,    0,   75,    0,
  672.     0,   78,   71,   77,    0,   71,    0,    0,    0,    0,
  673.     0,    0,   72,    0,    0,    0,    0,    0,    0,   71,
  674.    71,    0,   71,    0,   71,    0,    0,    0,    0,    0,
  675.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  676.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  677.     0,    0,    0,    0,   71,    0,    0,    0,    0,    0,
  678.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  679.    74,   74,   74,   74,    0,    0,  146,    0,    0,   22,
  680.    23,   24,    0,    0,   72,   25,   26,   27,   28,   29,
  681.    30,   31,   32,    0,    0,    0,    0,    0,    0,    0,
  682.    37,   38,    0,   40,   41,   42,   43,   44,   45,   46,
  683.    47,   48,   49,   50,   51,   52,   53,   54,   55,    0,
  684.    56,   57,   58,    0,    0,    0,   74,   74,   59,    0,
  685.    60,   61,   62,   63,   64,   65,   66,   67,   68,   69,
  686.     0,    0,   70,  202,    0,    0,   22,   23,   24,   73,
  687.    74,    0,   25,   26,   27,   28,   29,   30,   31,   32,
  688.     0,    0,    0,    0,    0,    0,    0,   37,   38,    0,
  689.    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
  690.    50,   51,   52,   53,   54,   55,    0,   56,   57,   58,
  691.     0,    0,    0,    0,    0,   59,    0,   60,   61,   62,
  692.    63,   64,   65,   66,   67,   68,   69,    0,    0,   70,
  693.     0,    0,    0,    0,    0,  205,   73,   74,   22,   23,
  694.    24,    0,    0,    0,   25,   26,   27,   28,   29,   30,
  695.    31,   32,    0,    0,    0,   71,   71,   71,   71,   37,
  696.    38,    0,   40,   41,   42,   43,   44,   45,   46,   47,
  697.    48,   49,   50,   51,   52,   53,   54,   55,    0,   56,
  698.    57,   58,  126,    0,    0,  126,    0,   59,  126,   60,
  699.    61,   62,   63,   64,   65,   66,   67,   68,   69,    0,
  700.     0,   70,  126,  126,    0,  126,    0,  126,   73,   74,
  701.     0,   71,   71,    0,    0,    0,    0,    0,    0,  121,
  702.     0,    0,  121,    0,    0,  121,    0,    0,    0,    0,
  703.     0,    0,    0,    0,    0,    0,    0,  126,  126,  121,
  704.   121,    0,  121,    0,  121,    0,    0,    0,    0,    0,
  705.     0,    0,    0,    0,    0,    0,  148,    0,    0,  148,
  706.     0,    0,  148,    0,    0,    0,    0,    0,  126,    0,
  707.     0,    0,    0,    0,  121,  121,  148,  148,    0,  148,
  708.     0,  148,    0,    0,    0,    0,    0,    0,    0,    0,
  709.     0,    0,    0,  149,    0,    0,  149,    0,    0,  149,
  710.     0,    0,    0,    0,    0,  121,    0,    0,    0,    0,
  711.     0,  148,  148,  149,  149,    0,  149,    0,  149,    0,
  712.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  713.   137,    0,    0,  137,    0,    0,  137,    0,    0,    0,
  714.     0,    0,  148,    0,    0,    0,    0,    0,  149,  149,
  715.   137,  137,    0,  137,    0,  137,    0,    0,    0,    0,
  716.     0,    0,    0,    0,    0,    0,    0,  159,    0,    0,
  717.   159,    0,    0,  159,    0,    0,    0,    0,    0,  149,
  718.     0,    0,    0,    0,    0,  137,  137,  159,  159,    0,
  719.   159,    0,  159,    0,    0,    0,    0,    0,    0,    0,
  720.     0,    0,    0,    0,    0,   94,    0,  126,   94,    0,
  721.     0,   94,    0,    0,    0,    0,  137,    0,  126,  126,
  722.   126,  126,  159,  159,    0,   94,   94,    0,   94,    0,
  723.    94,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  724.     0,    0,    0,    0,  121,    0,    0,    0,  126,  126,
  725.   126,  126,    0,  159,    0,  121,  121,  121,  121,    0,
  726.    94,   94,    0,    0,    0,  126,  126,    0,  126,  126,
  727.   126,  126,    0,  126,  126,  126,    0,    0,    0,    0,
  728.     0,  148,    0,    0,    0,  121,  121,  121,  121,    0,
  729.     0,   94,  148,  148,  148,  148,    0,    0,   50,    0,
  730.     0,   50,  121,  121,    0,  121,  121,  121,  121,    0,
  731.   121,  121,  121,    0,    0,   50,   50,    0,  149,    0,
  732.     0,    0,  148,  148,  148,  148,    0,    0,    0,  149,
  733.   149,  149,  149,    0,    0,   49,    0,    0,   49,  148,
  734.   148,    0,  148,  148,  148,  148,    0,  148,  148,  148,
  735.    50,    0,   49,   49,    0,  137,    0,    0,    0,  149,
  736.   149,  149,  149,    0,    0,    0,  137,  137,  137,  137,
  737.     0,    0,   52,    0,    0,   52,  149,  149,    0,  149,
  738.   149,  149,  149,    0,  149,  149,  149,   49,    0,   52,
  739.    52,    0,  159,    0,    0,    0,  137,  137,  137,  137,
  740.     0,    0,    0,  159,  159,  159,  159,    0,    0,    0,
  741.     0,    0,    0,  137,  137,    0,  137,  137,  137,  137,
  742.     0,  137,  137,  137,   52,    0,    0,    0,    0,    0,
  743.    94,    0,    0,  159,  159,  159,  159,    0,    0,    0,
  744.     0,   94,   94,   94,   94,    0,    0,    0,    0,    0,
  745.   159,  159,    0,  159,  159,  159,  159,    0,  159,  159,
  746.   159,   98,    0,    0,   98,    0,    0,   98,    0,    0,
  747.     0,   94,   94,   94,   94,    0,    0,    0,    0,    0,
  748.     0,   98,   98,    0,   98,    0,   98,    0,   94,   94,
  749.     0,   94,   94,   94,   94,    0,   94,   94,   94,  194,
  750.     0,    0,  194,    0,    0,  194,    0,    0,    0,    0,
  751.     0,    0,    0,    0,    0,    0,   98,   98,    0,  194,
  752.   194,    0,  194,    0,  194,    0,    0,    0,    0,    0,
  753.     0,   50,   50,   50,   50,    0,  115,    0,    0,  115,
  754.     0,    0,  115,    0,    0,    0,    0,   98,    0,    0,
  755.     0,    0,    0,    0,  194,  194,  115,  115,    0,  115,
  756.     0,  115,    0,    0,    0,    0,    0,    0,   49,   49,
  757.    49,   49,    0,  120,    0,    0,  120,    0,    0,  120,
  758.     0,    0,    0,    0,    0,  194,    0,   50,   50,    0,
  759.     0,  115,  115,  120,  120,    0,  120,    0,  120,    0,
  760.     0,    0,    0,    0,    0,   52,   52,   52,   52,    0,
  761.    91,    0,    0,   91,    0,    0,   91,    0,    0,    0,
  762.     0,    0,  115,    0,   49,   49,    0,    0,  120,  120,
  763.    91,   91,    0,   91,    0,   91,    0,    0,    0,    0,
  764.     0,    0,    0,    0,    0,    0,    0,   90,    0,    0,
  765.    90,    0,    0,   90,    0,    0,    0,    0,    0,  120,
  766.     0,   52,   52,    0,    0,   91,   91,   90,   90,    0,
  767.    90,    0,   90,    0,    0,    0,    0,    0,    0,    0,
  768.     0,    0,    0,    0,  181,    0,   98,  181,    0,    0,
  769.     0,    0,    0,    0,    0,    0,   91,   98,   98,   98,
  770.    98,    0,   90,   90,  181,  181,    0,  181,    0,  181,
  771.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  772.     0,    0,    0,    0,  194,    0,    0,   98,   98,   98,
  773.    98,    0,    0,   90,    0,  194,  194,  194,  194,  181,
  774.   181,    0,    0,    0,   98,   98,    0,   98,   98,   98,
  775.    98,    0,   98,   98,   98,    0,    0,    0,    0,    0,
  776.     0,  115,    0,    0,    0,  194,  194,  194,  194,    0,
  777.   181,    0,  115,  115,  115,  115,    0,    0,   54,    0,
  778.     0,   54,  194,  194,    0,  194,  194,  194,  194,    0,
  779.   194,  194,  194,    0,    0,   54,   54,    0,  120,    0,
  780.     0,    0,  115,  115,  115,  115,    0,    0,    0,  120,
  781.   120,  120,  120,    0,    0,   55,    0,    0,   55,  115,
  782.   115,    0,  115,  115,  115,  115,    0,  115,  115,  115,
  783.    54,    0,   55,   55,    0,   91,    0,    0,    0,  120,
  784.   120,  120,  120,    0,    0,    0,   91,   91,   91,   91,
  785.     0,    0,    0,    0,    0,    0,  120,  120,    0,  120,
  786.   120,  120,  120,    0,  120,  120,  120,   55,    0,    0,
  787.     0,    0,   90,    0,    0,    0,   91,   91,   91,   91,
  788.     0,    0,    0,   90,   90,   90,   90,    0,    0,    0,
  789.     0,    0,    0,   91,   91,    0,   91,   91,   91,   91,
  790.     0,   91,   91,   91,  183,    0,    0,  183,    0,  181,
  791.     0,    0,    0,   90,   90,   90,   90,    0,    0,    0,
  792.   181,  181,  181,  181,  183,  183,    0,  183,    0,  183,
  793.    90,   90,    0,   90,   90,   90,   90,    0,   90,   90,
  794.    90,  184,    0,    0,  184,    0,    0,    0,    0,    0,
  795.   181,  181,  181,  181,    0,    0,    0,    0,    0,  183,
  796.   183,  184,  184,    0,  184,    0,  184,  181,  181,    0,
  797.   181,  181,  181,  181,    0,  181,  181,  181,  185,    0,
  798.     0,  185,    0,    0,    0,    0,    0,    0,    0,    0,
  799.   183,    0,    0,    0,    0,    0,  184,  184,  185,  185,
  800.     0,  185,    0,  185,    0,    0,    0,    0,    0,    0,
  801.     0,   54,   54,   54,   54,   76,    0,    0,   76,    0,
  802.     0,   76,    0,    0,    0,    0,    0,  184,    0,    0,
  803.     0,    0,    0,  185,  185,   76,   76,    0,   76,    0,
  804.    76,    0,    0,    0,    0,    0,    0,    0,   55,   55,
  805.    55,   55,   61,    0,    0,   61,    0,    0,   61,    0,
  806.     0,    0,    0,    0,  185,    0,    0,   54,   54,    0,
  807.    76,   76,   61,   61,    0,   61,    0,   61,    0,    0,
  808.     0,    0,    0,    0,    0,    0,    0,    0,    0,   62,
  809.     0,    0,   62,    0,    0,   62,    0,    0,    0,    0,
  810.     0,   76,    0,    0,   55,   55,    0,   61,   61,   62,
  811.    62,    0,   62,    0,   62,    0,    0,    0,    0,    0,
  812.     0,    0,    0,    0,    0,    0,    0,   63,    0,  183,
  813.    63,    0,    0,   63,    0,    0,    0,    0,   61,    0,
  814.   183,  183,  183,  183,   62,   62,    0,   63,   63,    0,
  815.    63,    0,   63,    0,    0,    0,    0,    0,    0,    0,
  816.     0,    0,    0,    0,    0,    0,  184,    0,    0,    0,
  817.   183,  183,  183,  183,    0,   62,    0,  184,  184,  184,
  818.   184,    0,   63,   63,    0,    0,    0,  183,  183,    0,
  819.   183,  183,  183,  183,    0,  183,  183,  183,    0,    0,
  820.     0,    0,    0,  185,    0,    0,    0,  184,  184,  184,
  821.   184,    0,    0,   63,  185,  185,  185,  185,    0,    0,
  822.     0,    0,    0,    0,  184,  184,    0,  184,  184,  184,
  823.   184,    0,  184,  184,  184,    0,    0,    0,    0,    0,
  824.    76,    0,    0,    0,  185,  185,  185,  185,    0,    0,
  825.     0,   76,   76,   76,   76,    0,    0,    0,    0,    0,
  826.     0,  185,  185,    0,  185,  185,  185,  185,    0,  185,
  827.   185,  185,    0,    0,    0,    0,    0,   61,    0,    0,
  828.     0,   76,   76,   76,   76,    0,    0,    0,   61,   61,
  829.    61,   61,    0,    0,    0,    0,    0,    0,   76,   76,
  830.     0,   76,   76,   76,   76,    0,    0,   76,   76,    0,
  831.     0,    0,    0,    0,   62,    0,    0,    0,   61,   61,
  832.    61,   61,    0,    0,    0,   62,   62,   62,   62,    0,
  833.     0,    0,    0,    0,    0,   61,   61,    0,   61,   61,
  834.    61,   61,    0,   60,   61,   61,   60,    0,    0,    0,
  835.     0,    0,   63,    0,    0,   62,   62,   62,   62,    0,
  836.    60,   60,    0,   63,   63,   63,   63,    0,    0,    0,
  837.     0,    0,   62,   62,    0,   62,   62,   64,    0,    0,
  838.    64,   62,   62,   64,    0,    0,    0,    0,    0,    0,
  839.     0,    0,    0,   63,   63,   60,   63,   64,   64,    0,
  840.    64,   65,   64,    0,   65,    0,    0,   65,    0,    0,
  841.    63,   63,    0,   63,   63,    0,    0,    0,    0,   63,
  842.    63,   65,   65,    0,   65,    0,   65,    0,    0,    0,
  843.     0,    0,   64,   64,    0,    0,    0,    0,    0,    0,
  844.     0,   92,    0,    0,   92,    0,    0,   92,    0,    0,
  845.     0,    0,    0,    0,    0,    0,   65,   65,    0,    0,
  846.     0,   92,   92,   64,   92,   87,   92,    0,   87,    0,
  847.     0,   87,    0,    0,    0,    0,    0,    0,    0,    0,
  848.     0,    0,    0,    0,    0,   87,   87,   65,   87,    0,
  849.    87,    0,    0,    0,    0,    0,   92,   92,    0,    0,
  850.     0,    0,    0,  125,    0,    0,  125,    0,    0,  125,
  851.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  852.    87,   87,    0,  125,  125,    0,  125,   92,  125,    0,
  853.     0,  192,    0,    0,  321,    0,    0,  302,    0,    0,
  854.     0,   67,    0,    0,   67,    0,    0,   67,    0,    0,
  855.     0,   87,    0,    0,  186,    0,  187,    0,  125,  125,
  856.     0,   67,   67,    0,   67,   68,   67,    0,   68,    0,
  857.     0,   68,    0,    0,    0,    0,   60,   60,   60,   60,
  858.     0,    0,    0,    0,    0,   68,   68,  191,   68,  125,
  859.    68,    0,    0,    0,    0,    0,   67,   67,    0,    0,
  860.     0,    0,   64,    0,    0,    0,    0,    0,    0,    0,
  861.     0,    0,    0,   64,   64,   64,   64,  190,    0,    0,
  862.    68,   68,    0,    0,    0,    0,   65,   67,    0,    0,
  863.     0,    0,   60,   60,    0,    0,    0,   65,   65,   65,
  864.    65,    0,    0,   64,   64,    0,    0,    0,    0,    0,
  865.     0,   68,    0,    0,    0,    0,    0,    0,    0,    0,
  866.    64,   64,    0,   64,   64,    0,   92,   65,   65,   64,
  867.    64,    0,    0,    0,    0,    0,    0,   92,   92,   92,
  868.    92,    0,    0,    0,   65,   65,    0,   65,   65,  158,
  869.    87,    0,  158,   65,   65,  158,    0,    0,    0,    0,
  870.     0,   87,   87,   87,   87,    0,    0,   92,   92,  158,
  871.   158,    0,  158,    0,  158,    0,    0,    0,    0,    0,
  872.     0,    0,    0,    0,   92,   92,    0,    0,  125,    0,
  873.     0,   87,   87,   92,   92,    0,    0,    0,    0,  125,
  874.   125,  125,  125,    0,  158,  158,    0,    0,   87,   87,
  875.     0,    0,    0,    0,    0,    0,  181,   87,   87,    0,
  876.     0,    0,    0,    0,    0,    0,   67,    0,    0,  125,
  877.   125,    0,    0,    0,    0,  158,    0,   67,   67,   67,
  878.    67,    0,    0,    0,    0,   88,  125,  125,   88,    0,
  879.    68,   88,    0,    0,    0,  125,  125,  182,  183,  184,
  880.   185,   68,   68,   68,   68,   88,   88,    0,   88,    0,
  881.    88,    0,    0,    0,  188,  189,    0,  193,  194,  195,
  882.   196,    0,  197,    0,   67,   67,    0,    0,    0,    0,
  883.     0,    0,    0,   67,   67,    0,    0,    0,    0,    0,
  884.    88,   88,    0,    0,    0,    0,    0,    0,   68,   68,
  885.     0,    0,    0,  180,    0,    0,  180,   68,   68,  180,
  886.     0,    0,  123,    0,    0,  123,    0,    0,  123,    0,
  887.     0,   88,    0,  180,  180,    0,  180,    0,  180,    0,
  888.     0,   70,  123,  123,   70,  123,    0,  123,    0,    0,
  889.     0,    0,    0,    0,    0,    0,    0,    0,   70,   70,
  890.     0,   70,    0,   70,    0,    0,    0,    0,  180,  180,
  891.     0,    0,    0,    0,  158,    0,    0,  123,  123,    0,
  892.     0,    0,    0,    0,    0,  158,  158,  158,  158,   77,
  893.     0,    0,   77,   70,   70,   77,    0,    0,    0,  180,
  894.     0,    0,    0,    0,    0,    0,    0,    0,  123,   77,
  895.    77,    0,   77,    0,   77,  158,  158,  158,  158,    0,
  896.     0,    0,    0,    0,   70,    0,    0,    0,    0,    0,
  897.     0,    0,  158,  158,    0,  158,  158,  158,  158,    0,
  898.   158,    0,    0,    0,   77,   77,    0,    0,    0,    0,
  899.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  900.     0,    0,    0,    0,    0,    0,    0,    0,  182,    0,
  901.    88,  182,    0,    0,  182,   77,    0,    0,    0,    0,
  902.     0,   88,   88,   88,   88,    0,    0,    0,  182,  182,
  903.     0,  182,    0,  182,    0,    0,    0,    0,    0,    0,
  904.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  905.     0,   88,   88,   88,   88,    0,    0,    0,    0,    0,
  906.     0,    0,    0,  182,  182,    0,    0,    0,   88,   88,
  907.     0,   88,   88,   88,   88,    0,   88,    0,  180,    0,
  908.     0,    0,    0,    0,    0,    0,    0,  123,    0,  180,
  909.   180,  180,  180,    0,  182,    0,    0,    0,  123,  123,
  910.   123,  123,    0,   70,    0,    0,    0,    0,    0,    0,
  911.     0,    0,    0,    0,   70,   70,   70,   70,    0,  180,
  912.   180,  180,  180,    0,    0,    0,    0,    0,  123,  123,
  913.   123,  123,    0,    0,    0,    0,  180,  180,    0,  180,
  914.   180,  180,  180,    0,  180,  123,  123,    0,  123,  123,
  915.   123,  123,   80,  123,   77,   80,    0,    0,   80,    0,
  916.     0,   70,   70,    0,    0,   77,   77,   77,   77,    0,
  917.    70,   70,   80,   80,    0,   80,    0,   80,    0,    0,
  918.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  919.     0,    0,    0,    0,    0,   77,   77,   77,   77,    0,
  920.     0,    0,    0,    0,    0,    0,    0,   80,   80,    0,
  921.     0,    0,   77,   77,    0,   77,   77,   77,   77,    0,
  922.    77,    0,    0,    0,    0,    0,    0,    0,   81,    0,
  923.     0,   81,    0,  182,   81,    0,    0,    0,   80,    0,
  924.     0,    0,    0,    0,  182,  182,  182,  182,   81,   81,
  925.     0,   81,    0,   81,    0,  192,    0,    0,    0,    0,
  926.     0,  302,    0,    0,    0,   78,    0,    0,   78,    0,
  927.     0,   78,    0,    0,  182,  182,  182,  182,  186,    0,
  928.   187,    0,    0,   81,   81,   78,   78,    0,   78,    0,
  929.    78,  182,  182,    0,  182,  182,  182,  182,    0,  182,
  930.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  931.     0,  191,  192,    0,   81,    0,    0,    0,  300,    0,
  932.    78,   78,    0,    0,    0,   79,    0,    0,   79,    0,
  933.     0,   79,    0,    0,    0,  186,    0,  187,    0,    0,
  934.     0,  190,    0,    0,    0,   79,   79,    0,   79,    0,
  935.    79,   78,    0,    0,    0,    0,    0,    0,    0,    0,
  936.     0,    0,    0,    0,    0,    0,    0,    0,  191,    0,
  937.     0,    0,    0,    0,    0,    0,    0,   80,    0,    0,
  938.    79,   79,    0,    0,    0,    0,    0,    0,   80,   80,
  939.    80,   80,    0,   71,    0,    0,    0,    0,  190,    0,
  940.    75,    0,    0,   78,    0,   77,    0,    0,    0,    0,
  941.     0,   79,    0,    0,    0,    0,    0,    0,   80,   80,
  942.    80,   80,    0,    0,    0,    0,    0,    0,    0,    0,
  943.     0,    0,    0,    0,    0,   80,   80,    0,   80,   80,
  944.    80,   80,    0,   80,    0,    0,    0,    0,    0,    0,
  945.     0,  154,    0,   81,    0,   59,    0,    0,   59,    0,
  946.     0,    0,    0,    0,   81,   81,   81,   81,    0,    0,
  947.     0,    0,   59,   59,    0,    0,    0,    0,    0,    0,
  948.   181,    0,    0,  153,    0,    0,   72,    0,   72,    0,
  949.    78,   72,    0,    0,   81,   81,   81,   81,    0,    0,
  950.     0,   78,   78,   78,   78,   72,   72,   59,   72,    0,
  951.    72,   81,   81,    0,   81,   81,   81,   81,    0,   81,
  952.     0,  182,  183,  184,  185,    0,    0,    0,    0,    0,
  953.     0,   78,   78,   78,   78,    0,    0,  181,  188,  189,
  954.    72,  193,  194,  195,  196,    0,  197,    0,   78,   78,
  955.    79,   78,   78,   78,   78,    0,   78,    0,    0,    0,
  956.     0,   79,   79,   79,   79,    0,   73,    0,    0,   73,
  957.     0,    0,   58,    0,    0,   58,    0,    0,  182,  183,
  958.   184,  185,    0,   73,   73,    0,   73,    0,   73,   58,
  959.    58,   79,   79,   79,   79,  188,  189,    0,  193,  194,
  960.   195,  196,    0,  197,    0,    0,    0,    0,   79,   79,
  961.     0,   79,   79,   79,   79,    0,   79,   21,   73,    0,
  962.    22,   23,   24,    0,   58,    0,   25,   26,   27,   28,
  963.    29,   30,   31,   32,    0,    0,    0,    0,    0,    0,
  964.     0,   37,   38,    0,   40,   41,   42,   43,   44,   45,
  965.    46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
  966.     0,   56,   57,   58,   69,    0,    0,   69,    0,   59,
  967.     0,   60,   61,   62,   63,   64,   65,   66,   67,   68,
  968.    69,   69,   69,   70,   69,    0,   69,    0,   59,   59,
  969.    59,   59,    0,    0,   56,    0,    0,   56,    0,    0,
  970.     0,   57,    0,    0,   57,    0,    0,    0,    0,    0,
  971.    72,   56,   56,    0,    0,    0,   69,   69,   57,   57,
  972.     0,   72,   72,   72,   72,    0,    0,    0,    0,    0,
  973.     0,   53,    0,    0,   53,    0,    0,    0,    0,    0,
  974.     0,    0,    0,    0,   59,   59,   56,   69,   53,   53,
  975.     0,    0,    0,   57,    0,    0,    0,    0,    0,    0,
  976.     0,    0,    0,    0,    0,    0,    0,    0,   72,   72,
  977.     0,    0,    0,    0,    0,    0,    0,   72,   72,    0,
  978.     0,    0,    0,   53,    0,    0,    0,    0,   73,    0,
  979.     0,    0,    0,    0,    0,    0,    0,    0,    0,   73,
  980.    73,   73,   73,    0,    0,   58,   58,   58,   58,    0,
  981.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  982.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  983.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  984.     0,    0,    0,    0,    0,    0,   73,    0,    0,    0,
  985.     0,    0,    0,    0,    0,   73,   73,    0,    0,    0,
  986.     0,   58,   58,    0,    0,    0,    0,    0,    0,    0,
  987.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  988.     0,    0,    0,    0,    0,    0,   69,    0,    0,    0,
  989.     0,    0,    0,    0,    0,    0,    0,   69,   69,   69,
  990.    69,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  991.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  992.     0,    0,    0,    0,    0,    0,    0,   56,   56,   56,
  993.    56,    0,    0,    0,   57,   57,   57,   57,    0,    0,
  994.     0,    0,    0,    0,   69,   69,    0,    0,    0,  160,
  995.     0,    0,    0,   69,   69,  168,    0,    0,    0,    0,
  996.     0,    0,    0,    0,   53,   53,   53,   53,    0,    0,
  997.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  998.     0,    0,    0,   56,   56,    0,    0,    0,    0,    0,
  999.    57,   57,    0,  216,    0,  219,    0,  221,    0,  223,
  1000.     0,    0,  226,    0,  230,    0,    0,    0,    0,    0,
  1001.     0,    0,    0,    0,  240,    0,    0,    0,    0,    0,
  1002.    53,   53,    0,    0,    0,    0,    0,    0,  249,    0,
  1003.     0,    0,    0,  254,  255,  256,  257,  258,  259,  260,
  1004.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1005.     0,    0,    0,    0,    0,    0,  268,  269,  270,  271,
  1006.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1007.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1008.     0,    0,    0,    0,    0,    0,    0,    0,  306,  308,
  1009.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1010.     0,    0,    0,    0,    0,    0,    0,  324,    0,    0,
  1011.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1012.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1013.   343,    0,  346,  348,    0,    0,    0,    0,    0,    0,
  1014.     0,  353,    0,    0,    0,    0,  356,    0,    0,    0,
  1015.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1016.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1017.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1018.   366,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1019.   372,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1020.     0,    0,    0,    0,    0,  216,    0,    0,    0,    0,
  1021.     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  1022.     0,    0,    0,    0,  399,    0,    0,    0,    0,    0,
  1023.     0,    0,    0,    0,    0,  405,
  1024. };
  1025. short yycheck[] = {                                      17,
  1026.    40,   25,   61,   40,   40,   29,   38,   25,  125,   41,
  1027.    40,   40,   44,   40,   40,   33,   34,   35,   36,   40,
  1028.   257,  257,   96,  257,   44,   44,   58,   59,   44,   61,
  1029.    44,   63,   56,   44,   40,   38,   40,  326,  327,   91,
  1030.   329,   40,   40,   59,   38,   59,   70,   41,   40,   44,
  1031.    44,   69,   70,  127,  128,  129,  130,  131,  132,   28,
  1032.    41,   93,   94,   44,   58,   59,   41,   61,  257,   63,
  1033.    94,  123,   96,   93,   93,  311,  257,  314,   91,  313,
  1034.    44,   44,   93,    0,   59,   91,  110,  111,  112,   61,
  1035.    41,   41,  124,   44,  258,   59,   59,  121,   93,   93,
  1036.    94,  265,   41,  127,  128,  129,  130,  131,  132,   59,
  1037.   123,  135,  136,  137,  138,  139,   33,  123,  310,  123,
  1038.    59,  145,   41,   40,  123,  123,   43,   41,   45,  306,
  1039.   124,  123,  142,   41,  144,  104,  300,  106,  107,  123,
  1040.    59,  258,   59,   41,  308,   59,   44,   59,  265,  326,
  1041.   327,   59,  329,  171,  257,  173,  180,  181,  182,  183,
  1042.   184,  185,  186,  187,  188,  189,  190,  191,  192,  193,
  1043.   194,  195,  196,  197,    0,   41,   40,   44,   44,  304,
  1044.   305,  306,  307,  300,   41,   41,   41,   44,   44,   44,
  1045.   304,  308,  306,  307,   41,  330,  331,   44,  257,  324,
  1046.   325,  326,  327,   40,  329,   40,  123,   33,  125,  126,
  1047.   324,  325,  326,  327,   40,  329,   40,   43,   40,   45,
  1048.   257,  257,   41,   41,   40,   44,   44,  257,  257,   41,
  1049.   257,  263,   44,   59,   41,   41,  257,   44,   44,  263,
  1050.   310,   40,  274,  275,  276,  277,   41,   41,   40,   44,
  1051.    40,   40,  276,   40,  278,   40,   40,  331,  332,   40,
  1052.   284,   38,  286,   59,  288,   40,  290,   40,  292,  263,
  1053.    40,  311,  296,  305,   40,  311,   40,  314,  302,   40,
  1054.   274,  275,  276,  277,  313,  311,  313,   40,   40,  321,
  1055.   322,   40,  123,  274,  275,  276,  277,  123,  330,  331,
  1056.   126,  304,  305,  306,  307,   40,  311,  331,  332,   40,
  1057.   304,  305,  306,  307,  114,   44,  116,   94,  118,   91,
  1058.   120,  324,  325,  326,  327,   40,  329,  321,  322,   41,
  1059.   324,  325,  326,  327,   38,  359,  330,  331,   44,  256,
  1060.   257,  258,   41,  260,  261,  262,   41,  124,  265,  266,
  1061.   267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  1062.   277,   44,   41,   41,  281,  282,  283,  284,  285,  286,
  1063.   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1064.   297,  298,  299,  300,  301,  302,  303,  278,  279,  280,
  1065.    94,  308,  309,   59,  311,  312,  313,  314,  315,  316,
  1066.   317,  318,  319,  320,   41,   44,  323,  274,  275,  276,
  1067.   277,   44,   44,  330,  331,   41,  123,   33,   91,  329,
  1068.   124,  439,   41,   41,   40,  125,   41,   43,   41,   45,
  1069.   256,  257,   41,   41,  260,  261,  262,  125,   41,   59,
  1070.   266,  267,  268,  269,  270,  271,  272,  273,  274,  275,
  1071.   276,  277,   41,   41,   41,  281,  282,  283,  284,  285,
  1072.   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
  1073.   296,  297,  298,  299,   41,  301,  302,  303,  306,  307,
  1074.    41,  125,   41,  309,   41,  311,  312,  313,  314,  315,
  1075.   316,  317,  318,  319,  320,   41,   33,  323,  326,  327,
  1076.   125,  329,   41,   40,  330,  331,   43,  123,   45,   41,
  1077.   126,   41,   41,  306,  307,   41,   41,  317,  318,  319,
  1078.   320,   59,   59,   59,   41,   59,  326,  304,  305,  306,
  1079.   307,  324,  325,  326,  327,   41,  329,   41,   92,   12,
  1080.   414,   -1,  325,   -1,  321,  322,   -1,  324,  325,  326,
  1081.   327,   -1,  329,   71,   72,   73,   74,   -1,   -1,   77,
  1082.    78,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
  1083.    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
  1084.    45,   -1,  382,   -1,   -1,   -1,  123,   -1,   -1,  126,
  1085.    -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
  1086.   304,  305,  306,  307,   38,   -1,  406,   -1,   -1,   -1,
  1087.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  322,   -1,
  1088.   324,  325,  326,  327,   -1,  329,   -1,   -1,   -1,   -1,
  1089.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1090.    -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,
  1091.   266,  267,  268,  269,  270,  271,  272,  273,  123,   -1,
  1092.    94,  126,   -1,   -1,   -1,  281,  282,   -1,  284,  285,
  1093.   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
  1094.   296,  297,  298,  299,   -1,  301,  302,  303,   -1,   -1,
  1095.   124,   -1,   -1,  309,   -1,  311,  312,  313,  314,  315,
  1096.   316,  317,  318,  319,  320,   -1,   -1,  323,   -1,   -1,
  1097.    -1,   -1,   -1,   -1,  330,  331,   -1,   -1,   -1,  256,
  1098.   257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,  266,
  1099.   267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
  1100.   277,   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,
  1101.   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1102.   297,  298,  299,   -1,  301,  302,  303,   -1,   -1,   -1,
  1103.    -1,   -1,  309,   -1,  311,  312,  313,  314,  315,  316,
  1104.   317,  318,  319,  320,   -1,   -1,  323,   -1,   -1,   -1,
  1105.    -1,  256,  257,  330,  331,  260,  261,  262,   -1,   -1,
  1106.    -1,  266,  267,  268,  269,  270,  271,  272,  273,  274,
  1107.   275,  276,  277,   -1,   -1,   -1,  281,  282,  283,  284,
  1108.   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
  1109.   295,  296,  297,  298,  299,   -1,  301,  302,  303,  226,
  1110.    -1,   -1,   -1,  230,  309,   -1,  311,  312,  313,  314,
  1111.   315,  316,  317,  318,  319,  320,   -1,   33,  323,   -1,
  1112.   214,  215,  249,   -1,   40,  330,  331,   43,   -1,   45,
  1113.   304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,  233,
  1114.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  241,   -1,   -1,
  1115.   324,  325,  326,  327,  248,  329,   -1,   -1,   -1,   -1,
  1116.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1117.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  306,
  1118.    -1,  308,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
  1119.    -1,   40,   -1,   -1,   43,   -1,   45,  324,   -1,   -1,
  1120.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,
  1121.   126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  346,
  1122.    -1,  348,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1123.    -1,   -1,   -1,   -1,   -1,  329,   -1,   -1,   -1,   -1,
  1124.    -1,  335,  336,   -1,   -1,  372,  340,   -1,   -1,   -1,
  1125.    -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
  1126.    -1,   -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,
  1127.    -1,   -1,   -1,   -1,  123,   -1,   -1,  126,   -1,   -1,
  1128.    -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1129.    -1,   -1,   -1,  387,   -1,   -1,   -1,   -1,   -1,   -1,
  1130.   394,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,
  1131.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1132.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  422,   -1,
  1133.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,  433,
  1134.    -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,  126,
  1135.   266,  267,  268,  269,  270,  271,  272,  273,   -1,   -1,
  1136.    -1,   -1,   -1,   -1,   -1,  281,  282,  124,  284,  285,
  1137.   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
  1138.   296,  297,  298,  299,   -1,  301,  302,  303,   -1,   -1,
  1139.    -1,   -1,   -1,  309,   -1,  311,  312,  313,  314,  315,
  1140.   316,  317,  318,  319,  320,   -1,   -1,  323,  257,   -1,
  1141.    -1,  260,  261,  262,  330,  331,   -1,  266,  267,  268,
  1142.   269,  270,  271,  272,  273,   -1,   -1,   -1,   -1,   -1,
  1143.    -1,   -1,  281,  282,   -1,  284,  285,  286,  287,  288,
  1144.   289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
  1145.   299,   -1,  301,  302,  303,   -1,   -1,   -1,   -1,   -1,
  1146.   309,   -1,  311,  312,  313,  314,  315,  316,  317,  318,
  1147.   319,  320,   -1,   -1,  323,   38,   -1,   -1,   -1,   -1,
  1148.   257,  330,  331,  260,  261,  262,   -1,   -1,   -1,  266,
  1149.   267,  268,  269,  270,  271,  272,  273,   -1,   61,   -1,
  1150.    63,   -1,   -1,   -1,  281,  282,  263,  284,  285,  286,
  1151.   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1152.   297,  298,  299,   -1,  301,  302,  303,   -1,   -1,   -1,
  1153.    -1,   94,  309,   -1,  311,  312,  313,  314,  315,  316,
  1154.   317,  318,  319,  320,   -1,   33,  323,  304,  305,  306,
  1155.   307,   -1,   40,  330,  331,   43,   -1,   45,   -1,   -1,
  1156.    -1,  124,   -1,   -1,  321,  322,   -1,  324,  325,  326,
  1157.   327,   -1,  329,  330,  331,   -1,   -1,   -1,   -1,   -1,
  1158.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1159.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1160.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1161.    -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
  1162.    41,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
  1163.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  126,   -1,
  1164.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1165.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1166.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1167.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1168.    -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
  1169.    -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,   -1,
  1170.   263,   -1,   -1,   -1,   -1,  126,   -1,   -1,   -1,   -1,
  1171.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1172.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1173.    38,   -1,   -1,   -1,   -1,   -1,   44,   -1,   -1,   -1,
  1174.    -1,  304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,
  1175.    -1,   -1,   -1,   61,   -1,   63,   -1,   -1,  321,  322,
  1176.    -1,  324,  325,  326,  327,   -1,  329,   -1,  256,  257,
  1177.    -1,   -1,  260,  261,  262,   -1,   -1,  126,  266,  267,
  1178.   268,  269,  270,  271,  272,  273,   94,   -1,   -1,   -1,
  1179.    -1,   -1,   -1,  281,  282,   -1,  284,  285,  286,  287,
  1180.   288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
  1181.   298,  299,   -1,  301,  302,  303,  124,   -1,   -1,   -1,
  1182.    -1,  309,   -1,  311,  312,  313,  314,  315,  316,  317,
  1183.   318,  319,  320,   -1,   -1,  323,  257,   -1,   -1,  260,
  1184.   261,  262,  330,  331,   -1,  266,  267,  268,  269,  270,
  1185.   271,  272,  273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1186.   281,  282,   -1,  284,  285,  286,  287,  288,  289,  290,
  1187.   291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
  1188.   301,  302,  303,   -1,   -1,   -1,   -1,   -1,  309,   -1,
  1189.   311,  312,  313,  314,  315,  316,  317,  318,  319,  320,
  1190.    -1,   -1,  323,   -1,   -1,   38,   -1,   -1,  257,  330,
  1191.   331,  260,  261,  262,   -1,   -1,   -1,  266,  267,  268,
  1192.   269,  270,  271,  272,  273,   58,   -1,   -1,   61,   -1,
  1193.    63,   -1,  281,  282,   -1,  284,  285,  286,  287,  288,
  1194.   289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
  1195.   299,   -1,  301,  302,  303,  263,   -1,   -1,   -1,   -1,
  1196.   309,   94,  311,  312,  313,  314,  315,  316,  317,  318,
  1197.   319,  320,   -1,   33,  323,   -1,   -1,   -1,   -1,   -1,
  1198.    40,  330,  331,   43,   -1,   45,   -1,   -1,   -1,   -1,
  1199.    -1,  124,   -1,   -1,   -1,   -1,  304,  305,  306,  307,
  1200.    -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1201.    -1,   -1,   -1,  321,  322,   -1,  324,  325,  326,  327,
  1202.    -1,  329,  330,  331,   -1,   -1,   -1,   -1,   -1,   -1,
  1203.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1204.    33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
  1205.    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1206.    -1,   -1,   -1,   -1,   -1,   -1,  126,   -1,   61,   -1,
  1207.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1208.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1209.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1210.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1211.    -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
  1212.    -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
  1213.   263,   -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
  1214.    61,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1215.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,
  1216.    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
  1217.    -1,  304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,
  1218.    -1,   61,   -1,   63,   -1,   -1,   -1,   -1,  321,  322,
  1219.    -1,  324,  325,  326,  327,   -1,  329,  257,   -1,   -1,
  1220.   260,  261,  262,   -1,   -1,  126,  266,  267,  268,  269,
  1221.   270,  271,  272,  273,   94,   -1,   -1,   -1,   -1,   -1,
  1222.    -1,  281,  282,   -1,  284,  285,  286,  287,  288,  289,
  1223.   290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
  1224.    -1,  301,  302,  303,  124,   -1,   -1,   -1,   -1,  309,
  1225.    -1,  311,  312,  313,  314,  315,  316,  317,  318,  319,
  1226.   320,   -1,   -1,  323,  257,   -1,   -1,  260,  261,  262,
  1227.   330,  331,   -1,  266,  267,  268,  269,  270,  271,  272,
  1228.   273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,
  1229.    -1,  284,  285,  286,  287,  288,  289,  290,  291,  292,
  1230.   293,  294,  295,  296,  297,  298,  299,   -1,  301,  302,
  1231.   303,   -1,   -1,   -1,   -1,   -1,  309,   -1,  311,  312,
  1232.   313,  314,  315,  316,  317,  318,  319,  320,   -1,   38,
  1233.   323,   -1,   -1,   -1,   -1,   -1,  257,  330,  331,  260,
  1234.   261,  262,   -1,   -1,   -1,  266,  267,  268,  269,  270,
  1235.   271,  272,  273,   -1,   63,   -1,   -1,   -1,   -1,   -1,
  1236.   281,  282,   -1,  284,  285,  286,  287,  288,  289,  290,
  1237.   291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
  1238.   301,  302,  303,  263,   -1,   94,   -1,   -1,  309,   -1,
  1239.   311,  312,  313,  314,  315,  316,  317,  318,  319,  320,
  1240.    -1,   33,  323,   -1,   -1,   -1,   -1,   -1,   40,  330,
  1241.   331,   43,   -1,   45,   -1,  124,   -1,   -1,   -1,   -1,
  1242.    -1,   -1,   -1,   -1,  304,  305,  306,  307,   -1,   61,
  1243.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1244.    -1,  321,  322,   -1,  324,  325,  326,  327,   -1,  329,
  1245.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1246.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
  1247.    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
  1248.    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1249.    -1,   -1,   -1,   -1,  126,   -1,   61,   -1,   -1,   -1,
  1250.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1251.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1252.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1253.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1254.    33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
  1255.    43,   -1,   45,   -1,  263,   -1,   -1,   -1,   -1,   -1,
  1256.    -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,
  1257.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1258.    -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,
  1259.    -1,   -1,   44,   -1,   -1,  304,  305,  306,  307,   -1,
  1260.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,
  1261.    -1,   63,  321,  322,   -1,  324,  325,  326,  327,   -1,
  1262.   329,   -1,   -1,   -1,   -1,  257,   -1,   -1,  260,  261,
  1263.   262,   -1,   -1,  126,  266,  267,  268,  269,  270,  271,
  1264.   272,  273,   94,   -1,   -1,   -1,   -1,   -1,   -1,  281,
  1265.   282,   -1,  284,  285,  286,  287,  288,  289,  290,  291,
  1266.   292,  293,  294,  295,  296,  297,  298,  299,   -1,  301,
  1267.   302,  303,  124,   -1,   -1,   -1,   -1,  309,   -1,  311,
  1268.   312,  313,  314,  315,  316,  317,  318,  319,  320,   -1,
  1269.    -1,  323,  257,   -1,   -1,  260,  261,  262,  330,  331,
  1270.    -1,  266,  267,  268,  269,  270,  271,  272,  273,   -1,
  1271.    -1,   -1,   -1,   -1,   -1,   -1,  281,  282,   -1,  284,
  1272.   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
  1273.   295,  296,  297,  298,  299,   -1,  301,  302,  303,   -1,
  1274.    -1,   -1,   -1,   -1,  309,   -1,  311,  312,  313,  314,
  1275.   315,  316,  317,  318,  319,  320,   -1,   -1,  323,   -1,
  1276.    -1,   -1,   -1,   -1,  257,  330,  331,  260,  261,  262,
  1277.    -1,   -1,   -1,  266,  267,  268,  269,  270,  271,  272,
  1278.   273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,
  1279.    -1,  284,  285,  286,  287,  288,  289,  290,  291,  292,
  1280.   293,  294,  295,  296,  297,  298,  299,   -1,  301,  302,
  1281.   303,  263,   -1,   -1,   -1,   -1,  309,   -1,  311,  312,
  1282.   313,  314,  315,  316,  317,  318,  319,  320,   -1,   33,
  1283.   323,   -1,   -1,   -1,   -1,   -1,   40,  330,  331,   43,
  1284.    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1285.    -1,   -1,  304,  305,  306,  307,   -1,   61,   -1,   -1,
  1286.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,
  1287.   322,   -1,  324,  325,  326,  327,   -1,  329,   -1,   -1,
  1288.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1289.    -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
  1290.    -1,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,   -1,
  1291.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1292.    -1,   -1,  126,   -1,   61,   -1,   -1,   -1,   -1,   -1,
  1293.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1294.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1295.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1296.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
  1297.    -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   43,   -1,
  1298.    45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  126,
  1299.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1300.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1301.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1302.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1303.    -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,
  1304.    -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,
  1305.    -1,   -1,   -1,  257,   -1,   -1,  260,  261,  262,   -1,
  1306.    -1,  126,  266,  267,  268,  269,  270,  271,  272,  273,
  1307.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,   -1,
  1308.   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
  1309.   294,  295,  296,  297,  298,  299,   -1,  301,  302,  303,
  1310.    -1,   -1,   -1,   -1,   -1,  309,   -1,  311,  312,  313,
  1311.   314,  315,  316,  317,  318,  319,  320,   -1,   -1,  323,
  1312.   257,   -1,   -1,  260,  261,  262,  330,  331,  126,  266,
  1313.   267,  268,  269,  270,  271,  272,  273,   -1,   -1,   -1,
  1314.    -1,   -1,   -1,   -1,  281,  282,   -1,  284,  285,  286,
  1315.   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1316.   297,  298,  299,   -1,  301,  302,  303,   -1,   -1,   -1,
  1317.    -1,   -1,  309,   -1,  311,  312,  313,  314,  315,  316,
  1318.   317,  318,  319,  320,   -1,   -1,  323,   -1,   -1,   -1,
  1319.    -1,   -1,  257,  330,  331,  260,  261,  262,   -1,   -1,
  1320.    -1,  266,  267,  268,  269,  270,  271,  272,  273,   -1,
  1321.    -1,   -1,   -1,   -1,   -1,   -1,  281,  282,   -1,  284,
  1322.   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
  1323.   295,  296,  297,  298,  299,   -1,  301,  302,  303,   -1,
  1324.    -1,   -1,   -1,   -1,  309,   -1,  311,  312,  313,  314,
  1325.   315,  316,  317,  318,  319,  320,   -1,   -1,  323,  257,
  1326.    -1,   -1,  260,  261,  262,  330,  331,   -1,  266,  267,
  1327.   268,  269,  270,  271,  272,  273,   -1,   -1,   -1,   -1,
  1328.    -1,   -1,   -1,  281,  282,   -1,  284,  285,  286,  287,
  1329.   288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
  1330.   298,  299,   -1,  301,  302,  303,   -1,   -1,   -1,   -1,
  1331.    -1,  309,   -1,  311,  312,  313,  314,  315,  316,  317,
  1332.   318,  319,  320,   -1,  213,  323,   -1,   33,   -1,   -1,
  1333.    -1,   -1,  330,  331,   40,   41,  225,   43,   -1,   45,
  1334.    -1,   -1,   -1,   -1,   -1,  234,  235,   -1,   -1,   -1,
  1335.    -1,   -1,   -1,  242,  243,  244,  245,   -1,  247,   -1,
  1336.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1337.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1338.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1339.    -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
  1340.    -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,   -1,
  1341.    -1,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,   -1,
  1342.   126,   -1,   -1,  312,   -1,   -1,   -1,   -1,   -1,   -1,
  1343.    -1,   -1,   -1,  322,   -1,   -1,   -1,   -1,   -1,   -1,
  1344.    -1,  330,   -1,   -1,   -1,   -1,   -1,   -1,  337,  338,
  1345.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1346.    -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
  1347.    -1,   -1,   -1,   40,   41,   -1,   43,   -1,   45,   -1,
  1348.   369,   -1,   -1,   -1,  373,   -1,   -1,  126,   -1,   -1,
  1349.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1350.   389,   -1,   -1,   -1,   -1,   -1,  395,   -1,   -1,   -1,
  1351.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1352.    -1,   -1,  411,   -1,   -1,   -1,   -1,   -1,   -1,  418,
  1353.    -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,
  1354.    40,  430,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
  1355.    -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,  126,
  1356.   266,  267,  268,  269,  270,  271,  272,  273,   -1,   -1,
  1357.    -1,   -1,   -1,   -1,   -1,  281,  282,   -1,  284,  285,
  1358.   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
  1359.   296,  297,  298,  299,   -1,  301,  302,  303,   -1,   -1,
  1360.    -1,   -1,   -1,  309,   -1,  311,  312,  313,  314,  315,
  1361.   316,  317,  318,  319,  320,   -1,   -1,  323,  257,   -1,
  1362.    -1,  260,  261,  262,  330,  331,  126,  266,  267,  268,
  1363.   269,  270,  271,  272,  273,   -1,   -1,   -1,   -1,   -1,
  1364.    -1,   -1,  281,  282,   -1,  284,  285,  286,  287,  288,
  1365.   289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
  1366.   299,   -1,  301,  302,  303,   -1,   -1,   -1,   -1,   -1,
  1367.   309,   -1,  311,  312,  313,  314,  315,  316,  317,  318,
  1368.   319,  320,   -1,   -1,  323,   -1,   -1,   -1,   -1,   -1,
  1369.   257,  330,  331,  260,  261,  262,   -1,   -1,   -1,  266,
  1370.   267,  268,  269,  270,  271,  272,  273,   -1,   -1,   -1,
  1371.    -1,   -1,   -1,   -1,  281,  282,   -1,  284,  285,  286,
  1372.   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
  1373.   297,  298,  299,   -1,  301,  302,  303,   -1,   -1,   -1,
  1374.    -1,   -1,  309,   -1,  311,  312,  313,  314,  315,  316,
  1375.   317,  318,  319,  320,   -1,   -1,  323,  257,   -1,   -1,
  1376.   260,  261,  262,  330,  331,   -1,  266,  267,  268,  269,
  1377.   270,  271,  272,  273,   -1,   -1,   -1,   -1,   -1,   -1,
  1378.    -1,  281,  282,   -1,  284,  285,  286,  287,  288,  289,
  1379.   290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
  1380.    -1,  301,  302,  303,   -1,   -1,   -1,   41,   -1,  309,
  1381.    44,  311,  312,  313,  314,  315,  316,  317,  318,  319,
  1382.   320,   -1,   33,  323,   58,   59,   -1,   61,   -1,   40,
  1383.   330,  331,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
  1384.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1385.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
  1386.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1387.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1388.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
  1389.    -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,
  1390.    -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1391.    -1,   -1,   -1,   -1,   -1,  126,   -1,   -1,   -1,   -1,
  1392.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1393.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1394.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1395.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1396.    -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,
  1397.    -1,   43,   41,   45,   -1,   44,   -1,   -1,   -1,   -1,
  1398.    -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,   58,
  1399.    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
  1400.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1401.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1402.    -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,
  1403.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1404.   274,  275,  276,  277,   -1,   -1,  257,   -1,   -1,  260,
  1405.   261,  262,   -1,   -1,  126,  266,  267,  268,  269,  270,
  1406.   271,  272,  273,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1407.   281,  282,   -1,  284,  285,  286,  287,  288,  289,  290,
  1408.   291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
  1409.   301,  302,  303,   -1,   -1,   -1,  330,  331,  309,   -1,
  1410.   311,  312,  313,  314,  315,  316,  317,  318,  319,  320,
  1411.    -1,   -1,  323,  257,   -1,   -1,  260,  261,  262,  330,
  1412.   331,   -1,  266,  267,  268,  269,  270,  271,  272,  273,
  1413.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,   -1,
  1414.   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
  1415.   294,  295,  296,  297,  298,  299,   -1,  301,  302,  303,
  1416.    -1,   -1,   -1,   -1,   -1,  309,   -1,  311,  312,  313,
  1417.   314,  315,  316,  317,  318,  319,  320,   -1,   -1,  323,
  1418.    -1,   -1,   -1,   -1,   -1,  257,  330,  331,  260,  261,
  1419.   262,   -1,   -1,   -1,  266,  267,  268,  269,  270,  271,
  1420.   272,  273,   -1,   -1,   -1,  274,  275,  276,  277,  281,
  1421.   282,   -1,  284,  285,  286,  287,  288,  289,  290,  291,
  1422.   292,  293,  294,  295,  296,  297,  298,  299,   -1,  301,
  1423.   302,  303,   38,   -1,   -1,   41,   -1,  309,   44,  311,
  1424.   312,  313,  314,  315,  316,  317,  318,  319,  320,   -1,
  1425.    -1,  323,   58,   59,   -1,   61,   -1,   63,  330,  331,
  1426.    -1,  330,  331,   -1,   -1,   -1,   -1,   -1,   -1,   38,
  1427.    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
  1428.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   58,
  1429.    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
  1430.    -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,
  1431.    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,  124,   -1,
  1432.    -1,   -1,   -1,   -1,   93,   94,   58,   59,   -1,   61,
  1433.    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1434.    -1,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,
  1435.    -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
  1436.    -1,   93,   94,   58,   59,   -1,   61,   -1,   63,   -1,
  1437.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1438.    38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,
  1439.    -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,   93,   94,
  1440.    58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,
  1441.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,
  1442.    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,  124,
  1443.    -1,   -1,   -1,   -1,   -1,   93,   94,   58,   59,   -1,
  1444.    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1445.    -1,   -1,   -1,   -1,   -1,   38,   -1,  263,   41,   -1,
  1446.    -1,   44,   -1,   -1,   -1,   -1,  124,   -1,  274,  275,
  1447.   276,  277,   93,   94,   -1,   58,   59,   -1,   61,   -1,
  1448.    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1449.    -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,  304,  305,
  1450.   306,  307,   -1,  124,   -1,  274,  275,  276,  277,   -1,
  1451.    93,   94,   -1,   -1,   -1,  321,  322,   -1,  324,  325,
  1452.   326,  327,   -1,  329,  330,  331,   -1,   -1,   -1,   -1,
  1453.    -1,  263,   -1,   -1,   -1,  304,  305,  306,  307,   -1,
  1454.    -1,  124,  274,  275,  276,  277,   -1,   -1,   41,   -1,
  1455.    -1,   44,  321,  322,   -1,  324,  325,  326,  327,   -1,
  1456.   329,  330,  331,   -1,   -1,   58,   59,   -1,  263,   -1,
  1457.    -1,   -1,  304,  305,  306,  307,   -1,   -1,   -1,  274,
  1458.   275,  276,  277,   -1,   -1,   41,   -1,   -1,   44,  321,
  1459.   322,   -1,  324,  325,  326,  327,   -1,  329,  330,  331,
  1460.    93,   -1,   58,   59,   -1,  263,   -1,   -1,   -1,  304,
  1461.   305,  306,  307,   -1,   -1,   -1,  274,  275,  276,  277,
  1462.    -1,   -1,   41,   -1,   -1,   44,  321,  322,   -1,  324,
  1463.   325,  326,  327,   -1,  329,  330,  331,   93,   -1,   58,
  1464.    59,   -1,  263,   -1,   -1,   -1,  304,  305,  306,  307,
  1465.    -1,   -1,   -1,  274,  275,  276,  277,   -1,   -1,   -1,
  1466.    -1,   -1,   -1,  321,  322,   -1,  324,  325,  326,  327,
  1467.    -1,  329,  330,  331,   93,   -1,   -1,   -1,   -1,   -1,
  1468.   263,   -1,   -1,  304,  305,  306,  307,   -1,   -1,   -1,
  1469.    -1,  274,  275,  276,  277,   -1,   -1,   -1,   -1,   -1,
  1470.   321,  322,   -1,  324,  325,  326,  327,   -1,  329,  330,
  1471.   331,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1472.    -1,  304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,
  1473.    -1,   58,   59,   -1,   61,   -1,   63,   -1,  321,  322,
  1474.    -1,  324,  325,  326,  327,   -1,  329,  330,  331,   38,
  1475.    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
  1476.    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   58,
  1477.    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
  1478.    -1,  274,  275,  276,  277,   -1,   38,   -1,   -1,   41,
  1479.    -1,   -1,   44,   -1,   -1,   -1,   -1,  124,   -1,   -1,
  1480.    -1,   -1,   -1,   -1,   93,   94,   58,   59,   -1,   61,
  1481.    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,  274,  275,
  1482.   276,  277,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,
  1483.    -1,   -1,   -1,   -1,   -1,  124,   -1,  330,  331,   -1,
  1484.    -1,   93,   94,   58,   59,   -1,   61,   -1,   63,   -1,
  1485.    -1,   -1,   -1,   -1,   -1,  274,  275,  276,  277,   -1,
  1486.    38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,
  1487.    -1,   -1,  124,   -1,  330,  331,   -1,   -1,   93,   94,
  1488.    58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,
  1489.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,
  1490.    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,  124,
  1491.    -1,  330,  331,   -1,   -1,   93,   94,   58,   59,   -1,
  1492.    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1493.    -1,   -1,   -1,   -1,   38,   -1,  263,   41,   -1,   -1,
  1494.    -1,   -1,   -1,   -1,   -1,   -1,  124,  274,  275,  276,
  1495.   277,   -1,   93,   94,   58,   59,   -1,   61,   -1,   63,
  1496.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1497.    -1,   -1,   -1,   -1,  263,   -1,   -1,  304,  305,  306,
  1498.   307,   -1,   -1,  124,   -1,  274,  275,  276,  277,   93,
  1499.    94,   -1,   -1,   -1,  321,  322,   -1,  324,  325,  326,
  1500.   327,   -1,  329,  330,  331,   -1,   -1,   -1,   -1,   -1,
  1501.    -1,  263,   -1,   -1,   -1,  304,  305,  306,  307,   -1,
  1502.   124,   -1,  274,  275,  276,  277,   -1,   -1,   41,   -1,
  1503.    -1,   44,  321,  322,   -1,  324,  325,  326,  327,   -1,
  1504.   329,  330,  331,   -1,   -1,   58,   59,   -1,  263,   -1,
  1505.    -1,   -1,  304,  305,  306,  307,   -1,   -1,   -1,  274,
  1506.   275,  276,  277,   -1,   -1,   41,   -1,   -1,   44,  321,
  1507.   322,   -1,  324,  325,  326,  327,   -1,  329,  330,  331,
  1508.    93,   -1,   58,   59,   -1,  263,   -1,   -1,   -1,  304,
  1509.   305,  306,  307,   -1,   -1,   -1,  274,  275,  276,  277,
  1510.    -1,   -1,   -1,   -1,   -1,   -1,  321,  322,   -1,  324,
  1511.   325,  326,  327,   -1,  329,  330,  331,   93,   -1,   -1,
  1512.    -1,   -1,  263,   -1,   -1,   -1,  304,  305,  306,  307,
  1513.    -1,   -1,   -1,  274,  275,  276,  277,   -1,   -1,   -1,
  1514.    -1,   -1,   -1,  321,  322,   -1,  324,  325,  326,  327,
  1515.    -1,  329,  330,  331,   38,   -1,   -1,   41,   -1,  263,
  1516.    -1,   -1,   -1,  304,  305,  306,  307,   -1,   -1,   -1,
  1517.   274,  275,  276,  277,   58,   59,   -1,   61,   -1,   63,
  1518.   321,  322,   -1,  324,  325,  326,  327,   -1,  329,  330,
  1519.   331,   38,   -1,   -1,   41,   -1,   -1,   -1,   -1,   -1,
  1520.   304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,   93,
  1521.    94,   58,   59,   -1,   61,   -1,   63,  321,  322,   -1,
  1522.   324,  325,  326,  327,   -1,  329,  330,  331,   38,   -1,
  1523.    -1,   41,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1524.   124,   -1,   -1,   -1,   -1,   -1,   93,   94,   58,   59,
  1525.    -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,
  1526.    -1,  274,  275,  276,  277,   38,   -1,   -1,   41,   -1,
  1527.    -1,   44,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,
  1528.    -1,   -1,   -1,   93,   94,   58,   59,   -1,   61,   -1,
  1529.    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  274,  275,
  1530.   276,  277,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,
  1531.    -1,   -1,   -1,   -1,  124,   -1,   -1,  330,  331,   -1,
  1532.    93,   94,   58,   59,   -1,   61,   -1,   63,   -1,   -1,
  1533.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,
  1534.    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
  1535.    -1,  124,   -1,   -1,  330,  331,   -1,   93,   94,   58,
  1536.    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
  1537.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,  263,
  1538.    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,  124,   -1,
  1539.   274,  275,  276,  277,   93,   94,   -1,   58,   59,   -1,
  1540.    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1541.    -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,
  1542.   304,  305,  306,  307,   -1,  124,   -1,  274,  275,  276,
  1543.   277,   -1,   93,   94,   -1,   -1,   -1,  321,  322,   -1,
  1544.   324,  325,  326,  327,   -1,  329,  330,  331,   -1,   -1,
  1545.    -1,   -1,   -1,  263,   -1,   -1,   -1,  304,  305,  306,
  1546.   307,   -1,   -1,  124,  274,  275,  276,  277,   -1,   -1,
  1547.    -1,   -1,   -1,   -1,  321,  322,   -1,  324,  325,  326,
  1548.   327,   -1,  329,  330,  331,   -1,   -1,   -1,   -1,   -1,
  1549.   263,   -1,   -1,   -1,  304,  305,  306,  307,   -1,   -1,
  1550.    -1,  274,  275,  276,  277,   -1,   -1,   -1,   -1,   -1,
  1551.    -1,  321,  322,   -1,  324,  325,  326,  327,   -1,  329,
  1552.   330,  331,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,
  1553.    -1,  304,  305,  306,  307,   -1,   -1,   -1,  274,  275,
  1554.   276,  277,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
  1555.    -1,  324,  325,  326,  327,   -1,   -1,  330,  331,   -1,
  1556.    -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,  304,  305,
  1557.   306,  307,   -1,   -1,   -1,  274,  275,  276,  277,   -1,
  1558.    -1,   -1,   -1,   -1,   -1,  321,  322,   -1,  324,  325,
  1559.   326,  327,   -1,   41,  330,  331,   44,   -1,   -1,   -1,
  1560.    -1,   -1,  263,   -1,   -1,  304,  305,  306,  307,   -1,
  1561.    58,   59,   -1,  274,  275,  276,  277,   -1,   -1,   -1,
  1562.    -1,   -1,  321,  322,   -1,  324,  325,   38,   -1,   -1,
  1563.    41,  330,  331,   44,   -1,   -1,   -1,   -1,   -1,   -1,
  1564.    -1,   -1,   -1,  304,  305,   93,  307,   58,   59,   -1,
  1565.    61,   38,   63,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1566.   321,  322,   -1,  324,  325,   -1,   -1,   -1,   -1,  330,
  1567.   331,   58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,
  1568.    -1,   -1,   93,   94,   -1,   -1,   -1,   -1,   -1,   -1,
  1569.    -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1570.    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
  1571.    -1,   58,   59,  124,   61,   38,   63,   -1,   41,   -1,
  1572.    -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1573.    -1,   -1,   -1,   -1,   -1,   58,   59,  124,   61,   -1,
  1574.    63,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
  1575.    -1,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,
  1576.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1577.    93,   94,   -1,   58,   59,   -1,   61,  124,   63,   -1,
  1578.    -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1579.    -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1580.    -1,  124,   -1,   -1,   61,   -1,   63,   -1,   93,   94,
  1581.    -1,   58,   59,   -1,   61,   38,   63,   -1,   41,   -1,
  1582.    -1,   44,   -1,   -1,   -1,   -1,  274,  275,  276,  277,
  1583.    -1,   -1,   -1,   -1,   -1,   58,   59,   94,   61,  124,
  1584.    63,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
  1585.    -1,   -1,  263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1586.    -1,   -1,   -1,  274,  275,  276,  277,  124,   -1,   -1,
  1587.    93,   94,   -1,   -1,   -1,   -1,  263,  124,   -1,   -1,
  1588.    -1,   -1,  330,  331,   -1,   -1,   -1,  274,  275,  276,
  1589.   277,   -1,   -1,  304,  305,   -1,   -1,   -1,   -1,   -1,
  1590.    -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1591.   321,  322,   -1,  324,  325,   -1,  263,  304,  305,  330,
  1592.   331,   -1,   -1,   -1,   -1,   -1,   -1,  274,  275,  276,
  1593.   277,   -1,   -1,   -1,  321,  322,   -1,  324,  325,   38,
  1594.   263,   -1,   41,  330,  331,   44,   -1,   -1,   -1,   -1,
  1595.    -1,  274,  275,  276,  277,   -1,   -1,  304,  305,   58,
  1596.    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
  1597.    -1,   -1,   -1,   -1,  321,  322,   -1,   -1,  263,   -1,
  1598.    -1,  304,  305,  330,  331,   -1,   -1,   -1,   -1,  274,
  1599.   275,  276,  277,   -1,   93,   94,   -1,   -1,  321,  322,
  1600.    -1,   -1,   -1,   -1,   -1,   -1,  263,  330,  331,   -1,
  1601.    -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,  304,
  1602.   305,   -1,   -1,   -1,   -1,  124,   -1,  274,  275,  276,
  1603.   277,   -1,   -1,   -1,   -1,   38,  321,  322,   41,   -1,
  1604.   263,   44,   -1,   -1,   -1,  330,  331,  304,  305,  306,
  1605.   307,  274,  275,  276,  277,   58,   59,   -1,   61,   -1,
  1606.    63,   -1,   -1,   -1,  321,  322,   -1,  324,  325,  326,
  1607.   327,   -1,  329,   -1,  321,  322,   -1,   -1,   -1,   -1,
  1608.    -1,   -1,   -1,  330,  331,   -1,   -1,   -1,   -1,   -1,
  1609.    93,   94,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
  1610.    -1,   -1,   -1,   38,   -1,   -1,   41,  330,  331,   44,
  1611.    -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,
  1612.    -1,  124,   -1,   58,   59,   -1,   61,   -1,   63,   -1,
  1613.    -1,   41,   58,   59,   44,   61,   -1,   63,   -1,   -1,
  1614.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,
  1615.    -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   93,   94,
  1616.    -1,   -1,   -1,   -1,  263,   -1,   -1,   93,   94,   -1,
  1617.    -1,   -1,   -1,   -1,   -1,  274,  275,  276,  277,   38,
  1618.    -1,   -1,   41,   93,   94,   44,   -1,   -1,   -1,  124,
  1619.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,   58,
  1620.    59,   -1,   61,   -1,   63,  304,  305,  306,  307,   -1,
  1621.    -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,
  1622.    -1,   -1,  321,  322,   -1,  324,  325,  326,  327,   -1,
  1623.   329,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
  1624.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1625.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,
  1626.   263,   41,   -1,   -1,   44,  124,   -1,   -1,   -1,   -1,
  1627.    -1,  274,  275,  276,  277,   -1,   -1,   -1,   58,   59,
  1628.    -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,
  1629.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1630.    -1,  304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,
  1631.    -1,   -1,   -1,   93,   94,   -1,   -1,   -1,  321,  322,
  1632.    -1,  324,  325,  326,  327,   -1,  329,   -1,  263,   -1,
  1633.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,  274,
  1634.   275,  276,  277,   -1,  124,   -1,   -1,   -1,  274,  275,
  1635.   276,  277,   -1,  263,   -1,   -1,   -1,   -1,   -1,   -1,
  1636.    -1,   -1,   -1,   -1,  274,  275,  276,  277,   -1,  304,
  1637.   305,  306,  307,   -1,   -1,   -1,   -1,   -1,  304,  305,
  1638.   306,  307,   -1,   -1,   -1,   -1,  321,  322,   -1,  324,
  1639.   325,  326,  327,   -1,  329,  321,  322,   -1,  324,  325,
  1640.   326,  327,   38,  329,  263,   41,   -1,   -1,   44,   -1,
  1641.    -1,  321,  322,   -1,   -1,  274,  275,  276,  277,   -1,
  1642.   330,  331,   58,   59,   -1,   61,   -1,   63,   -1,   -1,
  1643.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1644.    -1,   -1,   -1,   -1,   -1,  304,  305,  306,  307,   -1,
  1645.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,
  1646.    -1,   -1,  321,  322,   -1,  324,  325,  326,  327,   -1,
  1647.   329,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,
  1648.    -1,   41,   -1,  263,   44,   -1,   -1,   -1,  124,   -1,
  1649.    -1,   -1,   -1,   -1,  274,  275,  276,  277,   58,   59,
  1650.    -1,   61,   -1,   63,   -1,   38,   -1,   -1,   -1,   -1,
  1651.    -1,   44,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,
  1652.    -1,   44,   -1,   -1,  304,  305,  306,  307,   61,   -1,
  1653.    63,   -1,   -1,   93,   94,   58,   59,   -1,   61,   -1,
  1654.    63,  321,  322,   -1,  324,  325,  326,  327,   -1,  329,
  1655.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1656.    -1,   94,   38,   -1,  124,   -1,   -1,   -1,   44,   -1,
  1657.    93,   94,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,
  1658.    -1,   44,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1,
  1659.    -1,  124,   -1,   -1,   -1,   58,   59,   -1,   61,   -1,
  1660.    63,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1661.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,
  1662.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,
  1663.    93,   94,   -1,   -1,   -1,   -1,   -1,   -1,  274,  275,
  1664.   276,  277,   -1,   33,   -1,   -1,   -1,   -1,  124,   -1,
  1665.    40,   -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,
  1666.    -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,  304,  305,
  1667.   306,  307,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1668.    -1,   -1,   -1,   -1,   -1,  321,  322,   -1,  324,  325,
  1669.   326,  327,   -1,  329,   -1,   -1,   -1,   -1,   -1,   -1,
  1670.    -1,   91,   -1,  263,   -1,   41,   -1,   -1,   44,   -1,
  1671.    -1,   -1,   -1,   -1,  274,  275,  276,  277,   -1,   -1,
  1672.    -1,   -1,   58,   59,   -1,   -1,   -1,   -1,   -1,   -1,
  1673.   263,   -1,   -1,  123,   -1,   -1,  126,   -1,   41,   -1,
  1674.   263,   44,   -1,   -1,  304,  305,  306,  307,   -1,   -1,
  1675.    -1,  274,  275,  276,  277,   58,   59,   93,   61,   -1,
  1676.    63,  321,  322,   -1,  324,  325,  326,  327,   -1,  329,
  1677.    -1,  304,  305,  306,  307,   -1,   -1,   -1,   -1,   -1,
  1678.    -1,  304,  305,  306,  307,   -1,   -1,  263,  321,  322,
  1679.    93,  324,  325,  326,  327,   -1,  329,   -1,  321,  322,
  1680.   263,  324,  325,  326,  327,   -1,  329,   -1,   -1,   -1,
  1681.    -1,  274,  275,  276,  277,   -1,   41,   -1,   -1,   44,
  1682.    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,  304,  305,
  1683.   306,  307,   -1,   58,   59,   -1,   61,   -1,   63,   58,
  1684.    59,  304,  305,  306,  307,  321,  322,   -1,  324,  325,
  1685.   326,  327,   -1,  329,   -1,   -1,   -1,   -1,  321,  322,
  1686.    -1,  324,  325,  326,  327,   -1,  329,  257,   93,   -1,
  1687.   260,  261,  262,   -1,   93,   -1,  266,  267,  268,  269,
  1688.   270,  271,  272,  273,   -1,   -1,   -1,   -1,   -1,   -1,
  1689.    -1,  281,  282,   -1,  284,  285,  286,  287,  288,  289,
  1690.   290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
  1691.    -1,  301,  302,  303,   41,   -1,   -1,   44,   -1,  309,
  1692.    -1,  311,  312,  313,  314,  315,  316,  317,  318,  319,
  1693.   320,   58,   59,  323,   61,   -1,   63,   -1,  274,  275,
  1694.   276,  277,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
  1695.    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
  1696.   263,   58,   59,   -1,   -1,   -1,   93,   94,   58,   59,
  1697.    -1,  274,  275,  276,  277,   -1,   -1,   -1,   -1,   -1,
  1698.    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
  1699.    -1,   -1,   -1,   -1,  330,  331,   93,  124,   58,   59,
  1700.    -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
  1701.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
  1702.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  330,  331,   -1,
  1703.    -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,  263,   -1,
  1704.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  274,
  1705.   275,  276,  277,   -1,   -1,  274,  275,  276,  277,   -1,
  1706.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1707.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1708.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1709.    -1,   -1,   -1,   -1,   -1,   -1,  321,   -1,   -1,   -1,
  1710.    -1,   -1,   -1,   -1,   -1,  330,  331,   -1,   -1,   -1,
  1711.    -1,  330,  331,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1712.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1713.    -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,
  1714.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  274,  275,  276,
  1715.   277,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1716.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1717.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  274,  275,  276,
  1718.   277,   -1,   -1,   -1,  274,  275,  276,  277,   -1,   -1,
  1719.    -1,   -1,   -1,   -1,  321,  322,   -1,   -1,   -1,   69,
  1720.    -1,   -1,   -1,  330,  331,   75,   -1,   -1,   -1,   -1,
  1721.    -1,   -1,   -1,   -1,  274,  275,  276,  277,   -1,   -1,
  1722.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1723.    -1,   -1,   -1,  330,  331,   -1,   -1,   -1,   -1,   -1,
  1724.   330,  331,   -1,  113,   -1,  115,   -1,  117,   -1,  119,
  1725.    -1,   -1,  122,   -1,  124,   -1,   -1,   -1,   -1,   -1,
  1726.    -1,   -1,   -1,   -1,  134,   -1,   -1,   -1,   -1,   -1,
  1727.   330,  331,   -1,   -1,   -1,   -1,   -1,   -1,  148,   -1,
  1728.    -1,   -1,   -1,  153,  154,  155,  156,  157,  158,  159,
  1729.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1730.    -1,   -1,   -1,   -1,   -1,   -1,  176,  177,  178,  179,
  1731.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1732.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1733.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  208,  209,
  1734.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1735.    -1,   -1,   -1,   -1,   -1,   -1,   -1,  227,   -1,   -1,
  1736.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1737.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1738.   250,   -1,  252,  253,   -1,   -1,   -1,   -1,   -1,   -1,
  1739.    -1,  261,   -1,   -1,   -1,   -1,  266,   -1,   -1,   -1,
  1740.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1741.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1742.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1743.   300,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1744.   310,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1745.    -1,   -1,   -1,   -1,   -1,  325,   -1,   -1,   -1,   -1,
  1746.    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  1747.    -1,   -1,   -1,   -1,  344,   -1,   -1,   -1,   -1,   -1,
  1748.    -1,   -1,   -1,   -1,   -1,  355,
  1749. };
  1750. #define YYFINAL 1
  1751. #ifndef YYDEBUG
  1752. #define YYDEBUG 0
  1753. #endif
  1754. #define YYMAXTOKEN 331
  1755. #if YYDEBUG
  1756. char *yyname[] = {
  1757. "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1758. "'!'",0,0,0,0,"'&'",0,"'('","')'",0,"'+'","','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,
  1759. "':'","';'",0,"'='",0,"'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1760. 0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1761. "'{'","'|'","'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1762. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1763. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  1764. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","LABEL","APPEND","OPEN",
  1765. "SSELECT","LOOPEX","DOTDOT","USING","FORMAT","DO","SHIFT","PUSH","POP",
  1766. "LVALFUN","CHOOSE","FMIN1","FUNC12","WHILE","UNTIL","IF","UNLESS","ELSE",
  1767. "ELSIF","CONTINUE","SPLIT","FLIST","FOR","FILOP","FILOP2","FILOP3","FILOP4",
  1768. "FILOP22","FILOP25","FUNC0","FUNC1","FUNC2","FUNC2x","FUNC3","FUNC4","FUNC5",
  1769. "HSHFUN","HSHFUN3","FLIST2","SUB","FILETEST","LOCAL","DELETE","RELOP","EQOP",
  1770. "MULOP","ADDOP","PACKAGE","AMPER","FORMLIST","REG","ARYLEN","ARY","HSH","STAR",
  1771. "SUBST","PATTERN","RSTRING","TRANS","LISTOP","OROR","ANDAND","UNIOP","LS","RS",
  1772. "MATCH","NMATCH","UMINUS","POW","INC","DEC",
  1773. };
  1774. char *yyrule[] = {
  1775. "$accept : prog",
  1776. "$$1 :",
  1777. "prog : $$1 lineseq",
  1778. "compblock : block CONTINUE block",
  1779. "compblock : block else",
  1780. "else :",
  1781. "else : ELSE block",
  1782. "else : ELSIF '(' expr ')' compblock",
  1783. "block : '{' remember lineseq '}'",
  1784. "remember :",
  1785. "lineseq :",
  1786. "lineseq : lineseq line",
  1787. "line : decl",
  1788. "line : label cond",
  1789. "line : loop",
  1790. "line : label ';'",
  1791. "line : label sideff ';'",
  1792. "sideff : error",
  1793. "sideff : expr",
  1794. "sideff : expr IF expr",
  1795. "sideff : expr UNLESS expr",
  1796. "sideff : expr WHILE expr",
  1797. "sideff : expr UNTIL expr",
  1798. "cond : IF '(' expr ')' compblock",
  1799. "cond : UNLESS '(' expr ')' compblock",
  1800. "cond : IF block compblock",
  1801. "cond : UNLESS block compblock",
  1802. "loop : label WHILE '(' texpr ')' compblock",
  1803. "loop : label UNTIL '(' expr ')' compblock",
  1804. "loop : label WHILE block compblock",
  1805. "loop : label UNTIL block compblock",
  1806. "loop : label FOR REG '(' expr crp compblock",
  1807. "loop : label FOR '(' expr crp compblock",
  1808. "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
  1809. "loop : label compblock",
  1810. "nexpr :",
  1811. "nexpr : sideff",
  1812. "texpr :",
  1813. "texpr : expr",
  1814. "label :",
  1815. "label : LABEL",
  1816. "decl : format",
  1817. "decl : subrout",
  1818. "decl : package",
  1819. "format : FORMAT WORD '=' FORMLIST",
  1820. "format : FORMAT '=' FORMLIST",
  1821. "subrout : SUB WORD block",
  1822. "package : PACKAGE WORD ';'",
  1823. "cexpr : ',' expr",
  1824. "expr : expr ',' sexpr",
  1825. "expr : sexpr",
  1826. "csexpr : ',' sexpr",
  1827. "sexpr : sexpr '=' sexpr",
  1828. "sexpr : sexpr POW '=' sexpr",
  1829. "sexpr : sexpr MULOP '=' sexpr",
  1830. "sexpr : sexpr ADDOP '=' sexpr",
  1831. "sexpr : sexpr LS '=' sexpr",
  1832. "sexpr : sexpr RS '=' sexpr",
  1833. "sexpr : sexpr '&' '=' sexpr",
  1834. "sexpr : sexpr '^' '=' sexpr",
  1835. "sexpr : sexpr '|' '=' sexpr",
  1836. "sexpr : sexpr POW sexpr",
  1837. "sexpr : sexpr MULOP sexpr",
  1838. "sexpr : sexpr ADDOP sexpr",
  1839. "sexpr : sexpr LS sexpr",
  1840. "sexpr : sexpr RS sexpr",
  1841. "sexpr : sexpr RELOP sexpr",
  1842. "sexpr : sexpr EQOP sexpr",
  1843. "sexpr : sexpr '&' sexpr",
  1844. "sexpr : sexpr '^' sexpr",
  1845. "sexpr : sexpr '|' sexpr",
  1846. "sexpr : sexpr DOTDOT sexpr",
  1847. "sexpr : sexpr ANDAND sexpr",
  1848. "sexpr : sexpr OROR sexpr",
  1849. "sexpr : sexpr '?' sexpr ':' sexpr",
  1850. "sexpr : sexpr MATCH sexpr",
  1851. "sexpr : sexpr NMATCH sexpr",
  1852. "sexpr : term",
  1853. "term : '-' term",
  1854. "term : '+' term",
  1855. "term : '!' term",
  1856. "term : '~' term",
  1857. "term : term INC",
  1858. "term : term DEC",
  1859. "term : INC term",
  1860. "term : DEC term",
  1861. "term : FILETEST WORD",
  1862. "term : FILETEST sexpr",
  1863. "term : FILETEST",
  1864. "term : LOCAL '(' expr crp",
  1865. "term : '(' expr crp",
  1866. "term : '(' ')'",
  1867. "term : DO sexpr",
  1868. "term : DO block",
  1869. "term : REG",
  1870. "term : STAR",
  1871. "term : REG '[' expr ']'",
  1872. "term : HSH",
  1873. "term : ARY",
  1874. "term : REG '{' expr ';' '}'",
  1875. "term : '(' expr crp '[' expr ']'",
  1876. "term : '(' ')' '[' expr ']'",
  1877. "term : ARY '[' expr ']'",
  1878. "term : ARY '{' expr ';' '}'",
  1879. "term : DELETE REG '{' expr ';' '}'",
  1880. "term : DELETE '(' REG '{' expr ';' '}' ')'",
  1881. "term : ARYLEN",
  1882. "term : RSTRING",
  1883. "term : PATTERN",
  1884. "term : SUBST",
  1885. "term : TRANS",
  1886. "term : DO WORD '(' expr crp",
  1887. "term : AMPER WORD '(' expr crp",
  1888. "term : DO WORD '(' ')'",
  1889. "term : AMPER WORD '(' ')'",
  1890. "term : AMPER WORD",
  1891. "term : DO REG '(' expr crp",
  1892. "term : AMPER REG '(' expr crp",
  1893. "term : DO REG '(' ')'",
  1894. "term : AMPER REG '(' ')'",
  1895. "term : AMPER REG",
  1896. "term : LOOPEX",
  1897. "term : LOOPEX WORD",
  1898. "term : UNIOP",
  1899. "term : UNIOP block",
  1900. "term : UNIOP sexpr",
  1901. "term : SSELECT",
  1902. "term : SSELECT WORD",
  1903. "term : SSELECT '(' handle ')'",
  1904. "term : SSELECT '(' sexpr csexpr csexpr csexpr ')'",
  1905. "term : OPEN WORD",
  1906. "term : OPEN '(' WORD ')'",
  1907. "term : OPEN '(' handle cexpr ')'",
  1908. "term : FILOP '(' handle ')'",
  1909. "term : FILOP WORD",
  1910. "term : FILOP REG",
  1911. "term : FILOP '(' ')'",
  1912. "term : FILOP",
  1913. "term : FILOP2 '(' handle cexpr ')'",
  1914. "term : FILOP3 '(' handle csexpr cexpr ')'",
  1915. "term : FILOP22 '(' handle ',' handle ')'",
  1916. "term : FILOP4 '(' handle csexpr csexpr cexpr ')'",
  1917. "term : FILOP25 '(' handle ',' handle csexpr csexpr cexpr ')'",
  1918. "term : PUSH '(' aryword ',' expr crp",
  1919. "term : POP aryword",
  1920. "term : POP '(' aryword ')'",
  1921. "term : SHIFT aryword",
  1922. "term : SHIFT '(' aryword ')'",
  1923. "term : SHIFT",
  1924. "term : SPLIT",
  1925. "term : SPLIT '(' sexpr csexpr csexpr ')'",
  1926. "term : SPLIT '(' sexpr csexpr ')'",
  1927. "term : SPLIT '(' sexpr ')'",
  1928. "term : FLIST2 '(' sexpr cexpr ')'",
  1929. "term : FLIST '(' expr crp",
  1930. "term : FMIN1 '(' sexpr ')'",
  1931. "term : FMIN1 '(' sexpr cexpr ')'",
  1932. "term : LVALFUN sexpr",
  1933. "term : LVALFUN",
  1934. "term : FUNC0",
  1935. "term : FUNC0 '(' ')'",
  1936. "term : FUNC1 '(' ')'",
  1937. "term : FUNC1 '(' expr ')'",
  1938. "term : FUNC2 '(' sexpr cexpr ')'",
  1939. "term : FUNC2x '(' sexpr csexpr ')'",
  1940. "term : FUNC2x '(' sexpr csexpr cexpr ')'",
  1941. "term : FUNC12 '(' sexpr ')'",
  1942. "term : FUNC12 '(' sexpr cexpr ')'",
  1943. "term : FUNC3 '(' sexpr csexpr cexpr ')'",
  1944. "term : FUNC4 '(' sexpr csexpr csexpr cexpr ')'",
  1945. "term : FUNC5 '(' sexpr csexpr csexpr csexpr cexpr ')'",
  1946. "term : CHOOSE '(' sexpr csexpr csexpr ')'",
  1947. "term : CHOOSE '(' sexpr csexpr csexpr csexpr ')'",
  1948. "term : CHOOSE '(' sexpr csexpr csexpr csexpr csexpr ')'",
  1949. "term : CHOOSE '(' sexpr csexpr csexpr csexpr csexpr csexpr ')'",
  1950. "term : HSHFUN '(' hshword ')'",
  1951. "term : HSHFUN hshword",
  1952. "term : HSHFUN3 '(' hshword csexpr cexpr ')'",
  1953. "term : bareword",
  1954. "term : listop",
  1955. "listop : LISTOP",
  1956. "listop : LISTOP expr",
  1957. "listop : LISTOP WORD",
  1958. "listop : LISTOP WORD expr",
  1959. "listop : LISTOP REG expr",
  1960. "listop : LISTOP block expr",
  1961. "handle : WORD",
  1962. "handle : sexpr",
  1963. "aryword : WORD",
  1964. "aryword : ARY",
  1965. "hshword : WORD",
  1966. "hshword : HSH",
  1967. "crp : ',' ')'",
  1968. "crp : ')'",
  1969. "bareword : WORD",
  1970. };
  1971. #endif
  1972. #define yyclearin (yychar=(-1))
  1973. #define yyerrok (yyerrflag=0)
  1974. #ifdef YYSTACKSIZE
  1975. #ifndef YYMAXDEPTH
  1976. #define YYMAXDEPTH YYSTACKSIZE
  1977. #endif
  1978. #else
  1979. #ifdef YYMAXDEPTH
  1980. #define YYSTACKSIZE YYMAXDEPTH
  1981. #else
  1982. #define YYSTACKSIZE 500
  1983. #define YYMAXDEPTH 500
  1984. #endif
  1985. #endif
  1986. int yydebug;
  1987. int yynerrs;
  1988. int yyerrflag;
  1989. int yychar;
  1990. short *yyssp;
  1991. YYSTYPE *yyvsp;
  1992. YYSTYPE yyval;
  1993. YYSTYPE yylval;
  1994. short yyss[YYSTACKSIZE];
  1995. YYSTYPE yyvs[YYSTACKSIZE];
  1996. #define yystacksize YYSTACKSIZE
  1997. #line 895 ":perly.y"
  1998.  /* PROGRAM */
  1999. #line 2000 "y.tab.c"
  2000. #define YYABORT goto yyabort
  2001. #define YYACCEPT goto yyaccept
  2002. #define YYERROR goto yyerrlab
  2003. int
  2004. yyparse()
  2005. {
  2006.     register int yym, yyn, yystate;
  2007. #if YYDEBUG
  2008.     register char *yys;
  2009.     extern char *getenv();
  2010.  
  2011.     if (yys = getenv("YYDEBUG"))
  2012.     {
  2013.         yyn = *yys;
  2014.         if (yyn >= '0' && yyn <= '9')
  2015.             yydebug = yyn - '0';
  2016.     }
  2017. #endif
  2018.  
  2019.     yynerrs = 0;
  2020.     yyerrflag = 0;
  2021.     yychar = (-1);
  2022.  
  2023.     yyssp = yyss;
  2024.     yyvsp = yyvs;
  2025.     *yyssp = yystate = 0;
  2026.  
  2027. yyloop:
  2028.     if (yyn = yydefred[yystate]) goto yyreduce;
  2029.     if (yychar < 0)
  2030.     {
  2031.         if ((yychar = yylex()) < 0) yychar = 0;
  2032. #if YYDEBUG
  2033.         if (yydebug)
  2034.         {
  2035.             yys = 0;
  2036.             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  2037.             if (!yys) yys = "illegal-symbol";
  2038.             fprintf(perldbg, "yydebug: state %d, reading %d (%s)\n", yystate,
  2039.                     yychar, yys);
  2040.         }
  2041. #endif
  2042.     }
  2043.     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
  2044.             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  2045.     {
  2046. #if YYDEBUG
  2047.         if (yydebug)
  2048.             fprintf(perldbg, "yydebug: state %d, shifting to state %d\n",
  2049.                     yystate, yytable[yyn]);
  2050. #endif
  2051.         if (yyssp >= yyss + yystacksize - 1)
  2052.         {
  2053.             goto yyoverflow;
  2054.         }
  2055.         *++yyssp = yystate = yytable[yyn];
  2056.         *++yyvsp = yylval;
  2057.         yychar = (-1);
  2058.         if (yyerrflag > 0)  --yyerrflag;
  2059.         goto yyloop;
  2060.     }
  2061.     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
  2062.             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
  2063.     {
  2064.         yyn = yytable[yyn];
  2065.         goto yyreduce;
  2066.     }
  2067.     if (yyerrflag) goto yyinrecovery;
  2068. #ifdef lint
  2069.     goto yynewerror;
  2070. #endif
  2071. yynewerror:
  2072.     yyerror("syntax error");
  2073. #ifdef lint
  2074.     goto yyerrlab;
  2075. #endif
  2076. yyerrlab:
  2077.     ++yynerrs;
  2078. yyinrecovery:
  2079.     if (yyerrflag < 3)
  2080.     {
  2081.         yyerrflag = 3;
  2082.         for (;;)
  2083.         {
  2084.             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
  2085.                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
  2086.             {
  2087. #if YYDEBUG
  2088.                 if (yydebug)
  2089.                     fprintf(perldbg, "yydebug: state %d, error recovery shifting\
  2090.  to state %d\n", *yyssp, yytable[yyn]);
  2091. #endif
  2092.                 if (yyssp >= yyss + yystacksize - 1)
  2093.                 {
  2094.                     goto yyoverflow;
  2095.                 }
  2096.                 *++yyssp = yystate = yytable[yyn];
  2097.                 *++yyvsp = yylval;
  2098.                 goto yyloop;
  2099.             }
  2100.             else
  2101.             {
  2102. #if YYDEBUG
  2103.                 if (yydebug)
  2104.                     fprintf(perldbg, "yydebug: error recovery discarding state %d\n",
  2105.                             *yyssp);
  2106. #endif
  2107.                 if (yyssp <= yyss) goto yyabort;
  2108.                 --yyssp;
  2109.                 --yyvsp;
  2110.             }
  2111.         }
  2112.     }
  2113.     else
  2114.     {
  2115.         if (yychar == 0) goto yyabort;
  2116. #if YYDEBUG
  2117.         if (yydebug)
  2118.         {
  2119.             yys = 0;
  2120.             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  2121.             if (!yys) yys = "illegal-symbol";
  2122.             fprintf(perldbg, "yydebug: state %d, error recovery discards token %d (%s)\n",
  2123.                     yystate, yychar, yys);
  2124.         }
  2125. #endif
  2126.         yychar = (-1);
  2127.         goto yyloop;
  2128.     }
  2129. yyreduce:
  2130. #if YYDEBUG
  2131.     if (yydebug)
  2132.         fprintf(perldbg, "yydebug: state %d, reducing by rule %d (%s)\n",
  2133.                 yystate, yyn, yyrule[yyn]);
  2134. #endif
  2135.     yym = yylen[yyn];
  2136.     yyval = yyvsp[1-yym];
  2137.     switch (yyn)
  2138.     {
  2139. case 1:
  2140. #line 109 ":perly.y"
  2141. {
  2142. #if defined(YYDEBUG) && defined(DEBUGGING)
  2143.             yydebug = (debug & 1);
  2144. #endif
  2145.             expectterm = 2;
  2146.         }
  2147. break;
  2148. case 2:
  2149. #line 116 ":perly.y"
  2150. { if (in_eval)
  2151.                 eval_root = block_head(yyvsp[0].cmdval);
  2152.                 else
  2153.                 main_root = block_head(yyvsp[0].cmdval); }
  2154. break;
  2155. case 3:
  2156. #line 123 ":perly.y"
  2157. { yyval.compval.comp_true = yyvsp[-2].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
  2158. break;
  2159. case 4:
  2160. #line 125 ":perly.y"
  2161. { yyval.compval.comp_true = yyvsp[-1].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
  2162. break;
  2163. case 5:
  2164. #line 129 ":perly.y"
  2165. { yyval.cmdval = Nullcmd; }
  2166. break;
  2167. case 6:
  2168. #line 131 ":perly.y"
  2169. { yyval.cmdval = yyvsp[0].cmdval; }
  2170. break;
  2171. case 7:
  2172. #line 133 ":perly.y"
  2173. { cmdline = yyvsp[-4].ival;
  2174.                 yyval.cmdval = make_ccmd(C_ELSIF,1,yyvsp[-2].arg,yyvsp[0].compval); }
  2175. break;
  2176. case 8:
  2177. #line 138 ":perly.y"
  2178. { yyval.cmdval = block_head(yyvsp[-1].cmdval);
  2179.               if (cmdline > (line_t)yyvsp[-3].ival)
  2180.                   cmdline = yyvsp[-3].ival;
  2181.               if (savestack->ary_fill > yyvsp[-2].ival)
  2182.                 restorelist(yyvsp[-2].ival);
  2183.               expectterm = 2; }
  2184. break;
  2185. case 9:
  2186. #line 147 ":perly.y"
  2187. { yyval.ival = savestack->ary_fill; }
  2188. break;
  2189. case 10:
  2190. #line 151 ":perly.y"
  2191. { yyval.cmdval = Nullcmd; }
  2192. break;
  2193. case 11:
  2194. #line 153 ":perly.y"
  2195. { yyval.cmdval = append_line(yyvsp[-1].cmdval,yyvsp[0].cmdval); }
  2196. break;
  2197. case 12:
  2198. #line 157 ":perly.y"
  2199. { yyval.cmdval = Nullcmd; }
  2200. break;
  2201. case 13:
  2202. #line 159 ":perly.y"
  2203. { yyval.cmdval = add_label(yyvsp[-1].cval,yyvsp[0].cmdval); }
  2204. break;
  2205. case 15:
  2206. #line 162 ":perly.y"
  2207. { if (yyvsp[-1].cval != Nullch) {
  2208.                   yyval.cmdval = add_label(yyvsp[-1].cval, make_acmd(C_EXPR, Nullstab,
  2209.                   Nullarg, Nullarg) );
  2210.                 }
  2211.                 else {
  2212.                   yyval.cmdval = Nullcmd;
  2213.                   cmdline = NOLINE;
  2214.                 }
  2215.                 expectterm = 2; }
  2216. break;
  2217. case 16:
  2218. #line 172 ":perly.y"
  2219. { yyval.cmdval = add_label(yyvsp[-2].cval,yyvsp[-1].cmdval);
  2220.               expectterm = 2; }
  2221. break;
  2222. case 17:
  2223. #line 177 ":perly.y"
  2224. { yyval.cmdval = Nullcmd; }
  2225. break;
  2226. case 18:
  2227. #line 179 ":perly.y"
  2228. { yyval.cmdval = make_acmd(C_EXPR, Nullstab, yyvsp[0].arg, Nullarg); }
  2229. break;
  2230. case 19:
  2231. #line 181 ":perly.y"
  2232. { yyval.cmdval = addcond(
  2233.                    make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
  2234. break;
  2235. case 20:
  2236. #line 184 ":perly.y"
  2237. { yyval.cmdval = addcond(invert(
  2238.                    make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
  2239. break;
  2240. case 21:
  2241. #line 187 ":perly.y"
  2242. { yyval.cmdval = addloop(
  2243.                    make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
  2244. break;
  2245. case 22:
  2246. #line 190 ":perly.y"
  2247. { yyval.cmdval = addloop(invert(
  2248.                    make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
  2249. break;
  2250. case 23:
  2251. #line 195 ":perly.y"
  2252. { cmdline = yyvsp[-4].ival;
  2253.                 yyval.cmdval = make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval); }
  2254. break;
  2255. case 24:
  2256. #line 198 ":perly.y"
  2257. { cmdline = yyvsp[-4].ival;
  2258.                 yyval.cmdval = invert(make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval)); }
  2259. break;
  2260. case 25:
  2261. #line 201 ":perly.y"
  2262. { cmdline = yyvsp[-2].ival;
  2263.                 yyval.cmdval = make_icmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval); }
  2264. break;
  2265. case 26:
  2266. #line 204 ":perly.y"
  2267. { cmdline = yyvsp[-2].ival;
  2268.                 yyval.cmdval = invert(make_icmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)); }
  2269. break;
  2270. case 27:
  2271. #line 209 ":perly.y"
  2272. { cmdline = yyvsp[-4].ival;
  2273.                 yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
  2274.                 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )); }
  2275. break;
  2276. case 28:
  2277. #line 213 ":perly.y"
  2278. { cmdline = yyvsp[-4].ival;
  2279.                 yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
  2280.                 invert(make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval)) )); }
  2281. break;
  2282. case 29:
  2283. #line 217 ":perly.y"
  2284. { cmdline = yyvsp[-2].ival;
  2285.                 yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
  2286.                 make_ccmd(C_WHILE, 1, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval) )); }
  2287. break;
  2288. case 30:
  2289. #line 221 ":perly.y"
  2290. { cmdline = yyvsp[-2].ival;
  2291.                 yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
  2292.                 invert(make_ccmd(C_WHILE,1,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)) )); }
  2293. break;
  2294. case 31:
  2295. #line 225 ":perly.y"
  2296. { cmdline = yyvsp[-5].ival;
  2297.                 /*
  2298.                  * The following gobbledygook catches EXPRs that
  2299.                  * aren't explicit array refs and translates
  2300.                  *        foreach VAR (EXPR) {
  2301.                  * into
  2302.                  *        @ary = EXPR;
  2303.                  *        foreach VAR (@ary) {
  2304.                  * where @ary is a hidden array made by genstab().
  2305.                  * (Note that @ary may become a local array if
  2306.                  * it is determined that it might be called
  2307.                  * recursively.  See cmd_tosave().)
  2308.                  */
  2309.                 if (yyvsp[-2].arg->arg_type != O_ARRAY) {
  2310.                 scrstab = aadd(genstab());
  2311.                 yyval.cmdval = append_line(
  2312.                     make_acmd(C_EXPR, Nullstab,
  2313.                       l(make_op(O_ASSIGN,2,
  2314.                     listish(make_op(O_ARRAY, 1,
  2315.                       stab2arg(A_STAB,scrstab),
  2316.                       Nullarg,Nullarg )),
  2317.                     listish(make_list(yyvsp[-2].arg)),
  2318.                     Nullarg)),
  2319.                       Nullarg),
  2320.                     wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
  2321.                       make_ccmd(C_WHILE, 0,
  2322.                     make_op(O_ARRAY, 1,
  2323.                       stab2arg(A_STAB,scrstab),
  2324.                       Nullarg,Nullarg ),
  2325.                     yyvsp[0].compval)))));
  2326.                 yyval.cmdval->c_line = yyvsp[-5].ival;
  2327.                 yyval.cmdval->c_head->c_line = yyvsp[-5].ival;
  2328.                 }
  2329.                 else {
  2330.                 yyval.cmdval = wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
  2331.                 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )));
  2332.                 }
  2333.             }
  2334. break;
  2335. case 32:
  2336. #line 264 ":perly.y"
  2337. { cmdline = yyvsp[-4].ival;
  2338.                 if (yyvsp[-2].arg->arg_type != O_ARRAY) {
  2339.                 scrstab = aadd(genstab());
  2340.                 yyval.cmdval = append_line(
  2341.                     make_acmd(C_EXPR, Nullstab,
  2342.                       l(make_op(O_ASSIGN,2,
  2343.                     listish(make_op(O_ARRAY, 1,
  2344.                       stab2arg(A_STAB,scrstab),
  2345.                       Nullarg,Nullarg )),
  2346.                     listish(make_list(yyvsp[-2].arg)),
  2347.                     Nullarg)),
  2348.                       Nullarg),
  2349.                     wopt(over(defstab,add_label(yyvsp[-5].cval,
  2350.                       make_ccmd(C_WHILE, 0,
  2351.                     make_op(O_ARRAY, 1,
  2352.                       stab2arg(A_STAB,scrstab),
  2353.                       Nullarg,Nullarg ),
  2354.                     yyvsp[0].compval)))));
  2355.                 yyval.cmdval->c_line = yyvsp[-4].ival;
  2356.                 yyval.cmdval->c_head->c_line = yyvsp[-4].ival;
  2357.                 }
  2358.                 else {    /* lisp, anyone? */
  2359.                 yyval.cmdval = wopt(over(defstab,add_label(yyvsp[-5].cval,
  2360.                 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )));
  2361.                 }
  2362.             }
  2363. break;
  2364. case 33:
  2365. #line 292 ":perly.y"
  2366. {   yyval.compval.comp_true = yyvsp[0].cmdval;
  2367.                 yyval.compval.comp_alt = yyvsp[-2].cmdval;
  2368.                 cmdline = yyvsp[-8].ival;
  2369.                 yyval.cmdval = append_line(yyvsp[-6].cmdval,wopt(add_label(yyvsp[-9].cval,
  2370.                 make_ccmd(C_WHILE,1,yyvsp[-4].arg,yyval.compval) ))); }
  2371. break;
  2372. case 34:
  2373. #line 298 ":perly.y"
  2374. { yyval.cmdval = add_label(yyvsp[-1].cval,make_ccmd(C_BLOCK,1,Nullarg,yyvsp[0].compval)); }
  2375. break;
  2376. case 35:
  2377. #line 302 ":perly.y"
  2378. { yyval.cmdval = Nullcmd; }
  2379. break;
  2380. case 37:
  2381. #line 307 ":perly.y"
  2382. { (void)scanstr("1",SCAN_DEF); yyval.arg = yylval.arg; }
  2383. break;
  2384. case 39:
  2385. #line 312 ":perly.y"
  2386. { yyval.cval = Nullch; }
  2387. break;
  2388. case 41:
  2389. #line 317 ":perly.y"
  2390. { yyval.ival = 0; }
  2391. break;
  2392. case 42:
  2393. #line 319 ":perly.y"
  2394. { yyval.ival = 0; }
  2395. break;
  2396. case 43:
  2397. #line 321 ":perly.y"
  2398. { yyval.ival = 0; }
  2399. break;
  2400. case 44:
  2401. #line 325 ":perly.y"
  2402. { if (strEQ(yyvsp[-2].cval,"stdout"))
  2403.                 make_form(stabent("STDOUT",TRUE),yyvsp[0].formval);
  2404.               else if (strEQ(yyvsp[-2].cval,"stderr"))
  2405.                 make_form(stabent("STDERR",TRUE),yyvsp[0].formval);
  2406.               else
  2407.                 make_form(stabent(yyvsp[-2].cval,TRUE),yyvsp[0].formval);
  2408.               Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch; }
  2409. break;
  2410. case 45:
  2411. #line 333 ":perly.y"
  2412. { make_form(stabent("STDOUT",TRUE),yyvsp[0].formval); }
  2413. break;
  2414. case 46:
  2415. #line 337 ":perly.y"
  2416. { make_sub(yyvsp[-1].cval,yyvsp[0].cmdval);
  2417.               cmdline = NOLINE;
  2418.               if (savestack->ary_fill > yyvsp[-2].ival)
  2419.                 restorelist(yyvsp[-2].ival); }
  2420. break;
  2421. case 47:
  2422. #line 344 ":perly.y"
  2423. { char tmpbuf[256];
  2424.               STAB *tmpstab;
  2425.  
  2426.               savehptr(&curstash);
  2427.               saveitem(curstname);
  2428.               str_set(curstname,yyvsp[-1].cval);
  2429.               sprintf(tmpbuf,"'_%s",yyvsp[-1].cval);
  2430.               tmpstab = stabent(tmpbuf,TRUE);
  2431.               if (!stab_xhash(tmpstab))
  2432.                   stab_xhash(tmpstab) = hnew(0);
  2433.               curstash = stab_xhash(tmpstab);
  2434.               if (!curstash->tbl_name)
  2435.                   curstash->tbl_name = savestr(yyvsp[-1].cval);
  2436.               curstash->tbl_coeffsize = 0;
  2437.               Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
  2438.               cmdline = NOLINE;
  2439.               expectterm = 2;
  2440.             }
  2441. break;
  2442. case 48:
  2443. #line 365 ":perly.y"
  2444. { yyval.arg = yyvsp[0].arg; }
  2445. break;
  2446. case 49:
  2447. #line 369 ":perly.y"
  2448. { yyval.arg = make_op(O_COMMA, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2449. break;
  2450. case 51:
  2451. #line 374 ":perly.y"
  2452. { yyval.arg = yyvsp[0].arg; }
  2453. break;
  2454. case 52:
  2455. #line 378 ":perly.y"
  2456. {   yyvsp[-2].arg = listish(yyvsp[-2].arg);
  2457.                 if (yyvsp[-2].arg->arg_type == O_ASSIGN && yyvsp[-2].arg->arg_len == 1)
  2458.                 yyvsp[-2].arg->arg_type = O_ITEM;    /* a local() */
  2459.                 if (yyvsp[-2].arg->arg_type == O_LIST)
  2460.                 yyvsp[0].arg = listish(yyvsp[0].arg);
  2461.                 yyval.arg = l(make_op(O_ASSIGN, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg)); }
  2462. break;
  2463. case 53:
  2464. #line 385 ":perly.y"
  2465. { yyval.arg = l(make_op(O_POW, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2466. break;
  2467. case 54:
  2468. #line 387 ":perly.y"
  2469. { yyval.arg = l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2470. break;
  2471. case 55:
  2472. #line 389 ":perly.y"
  2473. { yyval.arg = rcatmaybe(l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)));}
  2474. break;
  2475. case 56:
  2476. #line 391 ":perly.y"
  2477. { yyval.arg = l(make_op(O_LEFT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2478. break;
  2479. case 57:
  2480. #line 393 ":perly.y"
  2481. { yyval.arg = l(make_op(O_RIGHT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2482. break;
  2483. case 58:
  2484. #line 395 ":perly.y"
  2485. { yyval.arg = l(make_op(O_BIT_AND, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2486. break;
  2487. case 59:
  2488. #line 397 ":perly.y"
  2489. { yyval.arg = l(make_op(O_XOR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2490. break;
  2491. case 60:
  2492. #line 399 ":perly.y"
  2493. { yyval.arg = l(make_op(O_BIT_OR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
  2494. break;
  2495. case 61:
  2496. #line 403 ":perly.y"
  2497. { yyval.arg = make_op(O_POW, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2498. break;
  2499. case 62:
  2500. #line 405 ":perly.y"
  2501. { if (yyvsp[-1].ival == O_REPEAT)
  2502.                   yyvsp[-2].arg = listish(yyvsp[-2].arg);
  2503.                 yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
  2504.                 if (yyvsp[-1].ival == O_REPEAT) {
  2505.                 if (yyval.arg[1].arg_type != A_EXPR ||
  2506.                   yyval.arg[1].arg_ptr.arg_arg->arg_type != O_LIST)
  2507.                     yyval.arg[1].arg_flags &= ~AF_ARYOK;
  2508.                 } }
  2509. break;
  2510. case 63:
  2511. #line 414 ":perly.y"
  2512. { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2513. break;
  2514. case 64:
  2515. #line 416 ":perly.y"
  2516. { yyval.arg = make_op(O_LEFT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2517. break;
  2518. case 65:
  2519. #line 418 ":perly.y"
  2520. { yyval.arg = make_op(O_RIGHT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2521. break;
  2522. case 66:
  2523. #line 420 ":perly.y"
  2524. { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2525. break;
  2526. case 67:
  2527. #line 422 ":perly.y"
  2528. { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2529. break;
  2530. case 68:
  2531. #line 424 ":perly.y"
  2532. { yyval.arg = make_op(O_BIT_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2533. break;
  2534. case 69:
  2535. #line 426 ":perly.y"
  2536. { yyval.arg = make_op(O_XOR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2537. break;
  2538. case 70:
  2539. #line 428 ":perly.y"
  2540. { yyval.arg = make_op(O_BIT_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2541. break;
  2542. case 71:
  2543. #line 430 ":perly.y"
  2544. { arg4 = Nullarg;
  2545.               yyval.arg = make_op(O_F_OR_R, 4, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
  2546.               yyval.arg[0].arg_flags |= yyvsp[-1].ival; }
  2547. break;
  2548. case 72:
  2549. #line 434 ":perly.y"
  2550. { yyval.arg = make_op(O_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2551. break;
  2552. case 73:
  2553. #line 436 ":perly.y"
  2554. { yyval.arg = make_op(O_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
  2555. break;
  2556. case 74:
  2557. #line 438 ":perly.y"
  2558. { yyval.arg = make_op(O_COND_EXPR, 3, yyvsp[-4].arg, yyvsp[-2].arg, yyvsp[0].arg); }
  2559. break;
  2560. case 75:
  2561. #line 440 ":perly.y"
  2562. { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg, yyvsp[0].arg); }
  2563. break;
  2564. case 76:
  2565. #line 442 ":perly.y"
  2566. { yyval.arg = mod_match(O_NMATCH, yyvsp[-2].arg, yyvsp[0].arg); }
  2567. break;
  2568. case 77:
  2569. #line 444 ":perly.y"
  2570. { yyval.arg = yyvsp[0].arg; }
  2571. break;
  2572. case 78:
  2573. #line 448 ":perly.y"
  2574. { yyval.arg = make_op(O_NEGATE, 1, yyvsp[0].arg, Nullarg, Nullarg); }
  2575. break;
  2576. case 79:
  2577. #line 450 ":perly.y"
  2578. { yyval.arg = yyvsp[0].arg; }
  2579. break;
  2580. case 80:
  2581. #line 452 ":perly.y"
  2582. { yyval.arg = make_op(O_NOT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
  2583. break;
  2584. case 81:
  2585. #line 454 ":perly.y"
  2586. { yyval.arg = make_op(O_COMPLEMENT, 1, yyvsp[0].arg, Nullarg, Nullarg);}
  2587. break;
  2588. case 82:
  2589. #line 456 ":perly.y"
  2590. { yyval.arg = addflags(1, AF_POST|AF_UP,
  2591.                 l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
  2592. break;
  2593. case 83:
  2594. #line 459 ":perly.y"
  2595. { yyval.arg = addflags(1, AF_POST,
  2596.                 l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
  2597. break;
  2598. case 84:
  2599. #line 462 ":perly.y"
  2600. { yyval.arg = addflags(1, AF_PRE|AF_UP,
  2601.                 l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
  2602. break;
  2603. case 85:
  2604. #line 465 ":perly.y"
  2605. { yyval.arg = addflags(1, AF_PRE,
  2606.                 l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
  2607. break;
  2608. case 86:
  2609. #line 468 ":perly.y"
  2610. { opargs[yyvsp[-1].ival] = 0;    /* force it special */
  2611.                 yyval.arg = make_op(yyvsp[-1].ival, 1,
  2612.                 stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
  2613.                 Nullarg, Nullarg);
  2614.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
  2615.             }
  2616. break;
  2617. case 87:
  2618. #line 475 ":perly.y"
  2619. { opargs[yyvsp[-1].ival] = 1;
  2620.                 yyval.arg = make_op(yyvsp[-1].ival, 1, yyvsp[0].arg, Nullarg, Nullarg); }
  2621. break;
  2622. case 88:
  2623. #line 478 ":perly.y"
  2624. { opargs[yyvsp[0].ival] = (yyvsp[0].ival != O_FTTTY);
  2625.                 yyval.arg = make_op(yyvsp[0].ival, 1,
  2626.                 stab2arg(A_STAB,
  2627.                   yyvsp[0].ival == O_FTTTY?stabent("STDIN",TRUE):defstab),
  2628.                 Nullarg, Nullarg); }
  2629. break;
  2630. case 89:
  2631. #line 484 ":perly.y"
  2632. { yyval.arg = l(localize(make_op(O_ASSIGN, 1,
  2633.                 localize(listish(make_list(yyvsp[-1].arg))),
  2634.                 Nullarg,Nullarg))); }
  2635. break;
  2636. case 90:
  2637. #line 488 ":perly.y"
  2638. { yyval.arg = make_list(yyvsp[-1].arg); }
  2639. break;
  2640. case 91:
  2641. #line 490 ":perly.y"
  2642. { yyval.arg = make_list(Nullarg); }
  2643. break;
  2644. case 92:
  2645. #line 492 ":perly.y"
  2646. { yyval.arg = make_op(O_DOFILE,2,yyvsp[0].arg,Nullarg,Nullarg);
  2647.               allstabs = TRUE;}
  2648. break;
  2649. case 93:
  2650. #line 495 ":perly.y"
  2651. { yyval.arg = cmd_to_arg(yyvsp[0].cmdval); }
  2652. break;
  2653. case 94:
  2654. #line 497 ":perly.y"
  2655. { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
  2656. break;
  2657. case 95:
  2658. #line 499 ":perly.y"
  2659. { yyval.arg = stab2arg(A_STAR,yyvsp[0].stabval); }
  2660. break;
  2661. case 96:
  2662. #line 501 ":perly.y"
  2663. { yyval.arg = make_op(O_AELEM, 2,
  2664.                 stab2arg(A_STAB,aadd(yyvsp[-3].stabval)), yyvsp[-1].arg, Nullarg); }
  2665. break;
  2666. case 97:
  2667. #line 504 ":perly.y"
  2668. { yyval.arg = make_op(O_HASH, 1,
  2669.                 stab2arg(A_STAB,yyvsp[0].stabval),
  2670.                 Nullarg, Nullarg); }
  2671. break;
  2672. case 98:
  2673. #line 508 ":perly.y"
  2674. { yyval.arg = make_op(O_ARRAY, 1,
  2675.                 stab2arg(A_STAB,yyvsp[0].stabval),
  2676.                 Nullarg, Nullarg); }
  2677. break;
  2678. case 99:
  2679. #line 512 ":perly.y"
  2680. { yyval.arg = make_op(O_HELEM, 2,
  2681.                 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
  2682.                 jmaybe(yyvsp[-2].arg),
  2683.                 Nullarg);
  2684.                 expectterm = FALSE; }
  2685. break;
  2686. case 100:
  2687. #line 518 ":perly.y"
  2688. { yyval.arg = make_op(O_LSLICE, 3,
  2689.                 Nullarg,
  2690.                 listish(make_list(yyvsp[-1].arg)),
  2691.                 listish(make_list(yyvsp[-4].arg))); }
  2692. break;
  2693. case 101:
  2694. #line 523 ":perly.y"
  2695. { yyval.arg = make_op(O_LSLICE, 3,
  2696.                 Nullarg,
  2697.                 listish(make_list(yyvsp[-1].arg)),
  2698.                 Nullarg); }
  2699. break;
  2700. case 102:
  2701. #line 528 ":perly.y"
  2702. { yyval.arg = make_op(O_ASLICE, 2,
  2703.                 stab2arg(A_STAB,aadd(yyvsp[-3].stabval)),
  2704.                 listish(make_list(yyvsp[-1].arg)),
  2705.                 Nullarg); }
  2706. break;
  2707. case 103:
  2708. #line 533 ":perly.y"
  2709. { yyval.arg = make_op(O_HSLICE, 2,
  2710.                 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
  2711.                 listish(make_list(yyvsp[-2].arg)),
  2712.                 Nullarg);
  2713.                 expectterm = FALSE; }
  2714. break;
  2715. case 104:
  2716. #line 539 ":perly.y"
  2717. { yyval.arg = make_op(O_DELETE, 2,
  2718.                 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
  2719.                 jmaybe(yyvsp[-2].arg),
  2720.                 Nullarg);
  2721.                 expectterm = FALSE; }
  2722. break;
  2723. case 105:
  2724. #line 545 ":perly.y"
  2725. { yyval.arg = make_op(O_DELETE, 2,
  2726.                 stab2arg(A_STAB,hadd(yyvsp[-5].stabval)),
  2727.                 jmaybe(yyvsp[-3].arg),
  2728.                 Nullarg);
  2729.                 expectterm = FALSE; }
  2730. break;
  2731. case 106:
  2732. #line 551 ":perly.y"
  2733. { yyval.arg = stab2arg(A_ARYLEN,yyvsp[0].stabval); }
  2734. break;
  2735. case 107:
  2736. #line 553 ":perly.y"
  2737. { yyval.arg = yyvsp[0].arg; }
  2738. break;
  2739. case 108:
  2740. #line 555 ":perly.y"
  2741. { yyval.arg = yyvsp[0].arg; }
  2742. break;
  2743. case 109:
  2744. #line 557 ":perly.y"
  2745. { yyval.arg = yyvsp[0].arg; }
  2746. break;
  2747. case 110:
  2748. #line 559 ":perly.y"
  2749. { yyval.arg = yyvsp[0].arg; }
  2750. break;
  2751. case 111:
  2752. #line 561 ":perly.y"
  2753. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2754.                 stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
  2755.                 make_list(yyvsp[-1].arg),
  2756.                 Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch;
  2757.                 yyval.arg->arg_flags |= AF_DEPR; }
  2758. break;
  2759. case 112:
  2760. #line 567 ":perly.y"
  2761. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2762.                 stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
  2763.                 make_list(yyvsp[-1].arg),
  2764.                 Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch; }
  2765. break;
  2766. case 113:
  2767. #line 572 ":perly.y"
  2768. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2769.                 stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
  2770.                 make_list(Nullarg),
  2771.                 Nullarg);
  2772.                 Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch;
  2773.                 yyval.arg->arg_flags |= AF_DEPR; }
  2774. break;
  2775. case 114:
  2776. #line 579 ":perly.y"
  2777. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2778.                 stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
  2779.                 make_list(Nullarg),
  2780.                 Nullarg);
  2781.                 Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch;
  2782.             }
  2783. break;
  2784. case 115:
  2785. #line 586 ":perly.y"
  2786. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2787.                 stab2arg(A_WORD,stabent(yyvsp[0].cval,MULTI)),
  2788.                 Nullarg,
  2789.                 Nullarg);
  2790.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
  2791.             }
  2792. break;
  2793. case 116:
  2794. #line 593 ":perly.y"
  2795. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2796.                 stab2arg(A_STAB,yyvsp[-3].stabval),
  2797.                 make_list(yyvsp[-1].arg),
  2798.                 Nullarg);
  2799.                 yyval.arg->arg_flags |= AF_DEPR; }
  2800. break;
  2801. case 117:
  2802. #line 599 ":perly.y"
  2803. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2804.                 stab2arg(A_STAB,yyvsp[-3].stabval),
  2805.                 make_list(yyvsp[-1].arg),
  2806.                 Nullarg); }
  2807. break;
  2808. case 118:
  2809. #line 604 ":perly.y"
  2810. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2811.                 stab2arg(A_STAB,yyvsp[-2].stabval),
  2812.                 make_list(Nullarg),
  2813.                 Nullarg);
  2814.                 yyval.arg->arg_flags |= AF_DEPR; }
  2815. break;
  2816. case 119:
  2817. #line 610 ":perly.y"
  2818. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2819.                 stab2arg(A_STAB,yyvsp[-2].stabval),
  2820.                 make_list(Nullarg),
  2821.                 Nullarg); }
  2822. break;
  2823. case 120:
  2824. #line 615 ":perly.y"
  2825. { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
  2826.                 stab2arg(A_STAB,yyvsp[0].stabval),
  2827.                 Nullarg,
  2828.                 Nullarg); }
  2829. break;
  2830. case 121:
  2831. #line 620 ":perly.y"
  2832. { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
  2833. break;
  2834. case 122:
  2835. #line 622 ":perly.y"
  2836. { yyval.arg = make_op(yyvsp[-1].ival,1,cval_to_arg(yyvsp[0].cval),
  2837.                 Nullarg,Nullarg); }
  2838. break;
  2839. case 123:
  2840. #line 625 ":perly.y"
  2841. { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
  2842. break;
  2843. case 124:
  2844. #line 627 ":perly.y"
  2845. { yyval.arg = make_op(yyvsp[-1].ival,1,cmd_to_arg(yyvsp[0].cmdval),Nullarg,Nullarg); }
  2846. break;
  2847. case 125:
  2848. #line 629 ":perly.y"
  2849. { yyval.arg = make_op(yyvsp[-1].ival,1,yyvsp[0].arg,Nullarg,Nullarg); }
  2850. break;
  2851. case 126:
  2852. #line 631 ":perly.y"
  2853. { yyval.arg = make_op(O_SELECT, 0, Nullarg, Nullarg, Nullarg);}
  2854. break;
  2855. case 127:
  2856. #line 633 ":perly.y"
  2857. { yyval.arg = make_op(O_SELECT, 1,
  2858.                 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
  2859.                 Nullarg,
  2860.                 Nullarg);
  2861.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
  2862. break;
  2863. case 128:
  2864. #line 639 ":perly.y"
  2865. { yyval.arg = make_op(O_SELECT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
  2866. break;
  2867. case 129:
  2868. #line 641 ":perly.y"
  2869. { arg4 = yyvsp[-1].arg;
  2870.               yyval.arg = make_op(O_SSELECT, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
  2871. break;
  2872. case 130:
  2873. #line 644 ":perly.y"
  2874. { yyval.arg = make_op(O_OPEN, 2,
  2875.                 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
  2876.                 stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
  2877.                 Nullarg);
  2878.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
  2879.             }
  2880. break;
  2881. case 131:
  2882. #line 651 ":perly.y"
  2883. { yyval.arg = make_op(O_OPEN, 2,
  2884.                 stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
  2885.                 stab2arg(A_STAB,stabent(yyvsp[-1].cval,TRUE)),
  2886.                 Nullarg);
  2887.                 Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
  2888.             }
  2889. break;
  2890. case 132:
  2891. #line 658 ":perly.y"
  2892. { yyval.arg = make_op(O_OPEN, 2,
  2893.                 yyvsp[-2].arg,
  2894.                 yyvsp[-1].arg, Nullarg); }
  2895. break;
  2896. case 133:
  2897. #line 662 ":perly.y"
  2898. { yyval.arg = make_op(yyvsp[-3].ival, 1,
  2899.                 yyvsp[-1].arg,
  2900.                 Nullarg, Nullarg); }
  2901. break;
  2902. case 134:
  2903. #line 666 ":perly.y"
  2904. { yyval.arg = make_op(yyvsp[-1].ival, 1,
  2905.                 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
  2906.                 Nullarg, Nullarg);
  2907.               Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
  2908. break;
  2909. case 135:
  2910. #line 671 ":perly.y"
  2911. { yyval.arg = make_op(yyvsp[-1].ival, 1,
  2912.                 stab2arg(A_STAB,yyvsp[0].stabval),
  2913.                 Nullarg, Nullarg); }
  2914. break;
  2915. case 136:
  2916. #line 675 ":perly.y"
  2917. { yyval.arg = make_op(yyvsp[-2].ival, 1,
  2918.                 stab2arg(A_WORD,Nullstab),
  2919.                 Nullarg, Nullarg); }
  2920. break;
  2921. case 137:
  2922. #line 679 ":perly.y"
  2923. { yyval.arg = make_op(yyvsp[0].ival, 0,
  2924.                 Nullarg, Nullarg, Nullarg); }
  2925. break;
  2926. case 138:
  2927. #line 682 ":perly.y"
  2928. { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg); }
  2929. break;
  2930. case 139:
  2931. #line 684 ":perly.y"
  2932. { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, make_list(yyvsp[-1].arg)); }
  2933. break;
  2934. case 140:
  2935. #line 686 ":perly.y"
  2936. { yyval.arg = make_op(yyvsp[-5].ival, 2, yyvsp[-3].arg, yyvsp[-1].arg, Nullarg); }
  2937. break;
  2938. case 141:
  2939. #line 688 ":perly.y"
  2940. { arg4 = yyvsp[-1].arg; yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
  2941. break;
  2942. case 142:
  2943. #line 690 ":perly.y"
  2944. { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
  2945.               yyval.arg = make_op(yyvsp[-8].ival, 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
  2946. break;
  2947. case 143:
  2948. #line 693 ":perly.y"
  2949. { yyval.arg = make_op(yyvsp[-5].ival, 2,
  2950.                 yyvsp[-3].arg,
  2951.                 make_list(yyvsp[-1].arg),
  2952.                 Nullarg); }
  2953. break;
  2954. case 144:
  2955. #line 698 ":perly.y"
  2956. { yyval.arg = make_op(O_POP, 1, yyvsp[0].arg, Nullarg, Nullarg); }
  2957. break;
  2958. case 145:
  2959. #line 700 ":perly.y"
  2960. { yyval.arg = make_op(O_POP, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
  2961. break;
  2962. case 146:
  2963. #line 702 ":perly.y"
  2964. { yyval.arg = make_op(O_SHIFT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
  2965. break;
  2966. case 147:
  2967. #line 704 ":perly.y"
  2968. { yyval.arg = make_op(O_SHIFT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
  2969. break;
  2970. case 148:
  2971. #line 706 ":perly.y"
  2972. { yyval.arg = make_op(O_SHIFT, 1,
  2973.                 stab2arg(A_STAB,
  2974.                   aadd(stabent(subline ? "_" : "ARGV", TRUE))),
  2975.                 Nullarg, Nullarg); }
  2976. break;
  2977. case 149:
  2978. #line 711 ":perly.y"
  2979. {   static char p[]="/\\s+/";
  2980.                 char *oldend = bufend;
  2981.                 ARG *oldarg = yylval.arg;
  2982.                 
  2983.                 bufend=p+5;
  2984.                 (void)scanpat(p);
  2985.                 bufend=oldend;
  2986.                 yyval.arg = make_split(defstab,yylval.arg,Nullarg);
  2987.                 yylval.arg = oldarg; }
  2988. break;
  2989. case 150:
  2990. #line 721 ":perly.y"
  2991. { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg,
  2992.               make_split(defstab,yyvsp[-3].arg,yyvsp[-1].arg));}
  2993. break;
  2994. case 151:
  2995. #line 724 ":perly.y"
  2996. { yyval.arg = mod_match(O_MATCH, yyvsp[-1].arg,
  2997.               make_split(defstab,yyvsp[-2].arg,Nullarg) ); }
  2998. break;
  2999. case 152:
  3000. #line 727 ":perly.y"
  3001. { yyval.arg = mod_match(O_MATCH,
  3002.                 stab2arg(A_STAB,defstab),
  3003.                 make_split(defstab,yyvsp[-1].arg,Nullarg) ); }
  3004. break;
  3005. case 153:
  3006. #line 731 ":perly.y"
  3007. { yyval.arg = make_op(yyvsp[-4].ival, 2,
  3008.                 yyvsp[-2].arg,
  3009.                 listish(make_list(yyvsp[-1].arg)),
  3010.                 Nullarg); }
  3011. break;
  3012. case 154:
  3013. #line 736 ":perly.y"
  3014. { yyval.arg = make_op(yyvsp[-3].ival, 1,
  3015.                 make_list(yyvsp[-1].arg),
  3016.                 Nullarg,
  3017.                 Nullarg); }
  3018. break;
  3019. case 155:
  3020. #line 741 ":perly.y"
  3021. { yyval.arg = make_op(yyvsp[-3].ival, 2,
  3022.                 yyvsp[-1].arg,
  3023.                 Nullarg,
  3024.                 Nullarg); }
  3025. break;
  3026. case 156:
  3027. #line 746 ":perly.y"
  3028. { yyval.arg = make_op(yyvsp[-4].ival, 2,
  3029.                 yyvsp[-2].arg,
  3030.                 listish(make_list(yyvsp[-1].arg)),
  3031.                 Nullarg); }
  3032. break;
  3033. case 157:
  3034. #line 751 ":perly.y"
  3035. { yyval.arg = l(make_op(yyvsp[-1].ival, 1, fixl(yyvsp[-1].ival,yyvsp[0].arg),
  3036.                 Nullarg, Nullarg)); }
  3037. break;
  3038. case 158:
  3039. #line 754 ":perly.y"
  3040. { yyval.arg = l(make_op(yyvsp[0].ival, 1,
  3041.                 stab2arg(A_STAB,defstab),
  3042.                 Nullarg, Nullarg)); }
  3043. break;
  3044. case 159:
  3045. #line 758 ":perly.y"
  3046. { yyval.arg = make_op(yyvsp[0].ival, 0, Nullarg, Nullarg, Nullarg); }
  3047. break;
  3048. case 160:
  3049. #line 760 ":perly.y"
  3050. { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
  3051. break;
  3052. case 161:
  3053. #line 762 ":perly.y"
  3054. { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
  3055. break;
  3056. case 162:
  3057. #line 764 ":perly.y"
  3058. { yyval.arg = make_op(yyvsp[-3].ival, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
  3059. break;
  3060. case 163:
  3061. #line 766 ":perly.y"
  3062. { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
  3063.                 if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
  3064.                 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
  3065. break;
  3066. case 164:
  3067. #line 770 ":perly.y"
  3068. { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
  3069.                 if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
  3070.                 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
  3071. break;
  3072. case 165:
  3073. #line 774 ":perly.y"
  3074. { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg);
  3075.                 if (yyvsp[-5].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
  3076.                 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
  3077. break;
  3078. case 166:
  3079. #line 778 ":perly.y"
  3080. { yyval.arg = make_op(yyvsp[-3].ival, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
  3081. break;
  3082. case 167:
  3083. #line 780 ":perly.y"
  3084. { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg); }
  3085. break;
  3086. case 168:
  3087. #line 782 ":perly.y"
  3088. { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
  3089. break;
  3090. case 169:
  3091. #line 784 ":perly.y"
  3092. { arg4 = yyvsp[-1].arg;
  3093.               yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
  3094. break;
  3095. case 170:
  3096. #line 787 ":perly.y"
  3097. { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
  3098.               yyval.arg = make_op(yyvsp[-7].ival, 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
  3099. break;
  3100. case 171:
  3101. #line 790 ":perly.y"
  3102. { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
  3103. break;
  3104. case 172:
  3105. #line 792 ":perly.y"
  3106. { arg4 = yyvsp[-1].arg; 
  3107.               yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
  3108. break;
  3109. case 173:
  3110. #line 795 ":perly.y"
  3111. { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
  3112.               yyval.arg = make_op(yyvsp[-7].ival, 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
  3113. break;
  3114. case 174:
  3115. #line 798 ":perly.y"
  3116. { arg4 = yyvsp[-3].arg; arg5 = yyvsp[-2].arg; arg6 = yyvsp[-1].arg;
  3117.               yyval.arg = make_op(yyvsp[-8].ival, 6, yyvsp[-6].arg, yyvsp[-5].arg, yyvsp[-4].arg); }
  3118. break;
  3119. case 175:
  3120. #line 801 ":perly.y"
  3121. { yyval.arg = make_op(yyvsp[-3].ival, 1,
  3122.                 yyvsp[-1].arg,
  3123.                 Nullarg,
  3124.                 Nullarg); }
  3125. break;
  3126. case 176:
  3127. #line 806 ":perly.y"
  3128. { yyval.arg = make_op(yyvsp[-1].ival, 1,
  3129.                 yyvsp[0].arg,
  3130.                 Nullarg,
  3131.                 Nullarg); }
  3132. break;
  3133. case 177:
  3134. #line 811 ":perly.y"
  3135. { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
  3136. break;
  3137. case 180:
  3138. #line 817 ":perly.y"
  3139. { yyval.arg = make_op(yyvsp[0].ival,2,
  3140.                 stab2arg(A_WORD,Nullstab),
  3141.                 stab2arg(A_STAB,defstab),
  3142.                 Nullarg); }
  3143. break;
  3144. case 181:
  3145. #line 822 ":perly.y"
  3146. { yyval.arg = make_op(yyvsp[-1].ival,2,
  3147.                 stab2arg(A_WORD,Nullstab),
  3148.                 maybelistish(yyvsp[-1].ival,make_list(yyvsp[0].arg)),
  3149.                 Nullarg); }
  3150. break;
  3151. case 182:
  3152. #line 827 ":perly.y"
  3153. { yyval.arg = make_op(yyvsp[-1].ival,2,
  3154.                 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
  3155.                 stab2arg(A_STAB,defstab),
  3156.                 Nullarg);
  3157.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
  3158.             }
  3159. break;
  3160. case 183:
  3161. #line 834 ":perly.y"
  3162. { yyval.arg = make_op(yyvsp[-2].ival,2,
  3163.                 stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
  3164.                 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
  3165.                 Nullarg); Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch; }
  3166. break;
  3167. case 184:
  3168. #line 839 ":perly.y"
  3169. { yyval.arg = make_op(yyvsp[-2].ival,2,
  3170.                 stab2arg(A_STAB,yyvsp[-1].stabval),
  3171.                 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
  3172.                 Nullarg); }
  3173. break;
  3174. case 185:
  3175. #line 844 ":perly.y"
  3176. { yyval.arg = make_op(yyvsp[-2].ival,2,
  3177.                 cmd_to_arg(yyvsp[-1].cmdval),
  3178.                 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
  3179.                 Nullarg); }
  3180. break;
  3181. case 186:
  3182. #line 851 ":perly.y"
  3183. { yyval.arg = stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE));
  3184.               Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;}
  3185. break;
  3186. case 188:
  3187. #line 857 ":perly.y"
  3188. { yyval.arg = stab2arg(A_WORD,aadd(stabent(yyvsp[0].cval,TRUE)));
  3189.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
  3190. break;
  3191. case 189:
  3192. #line 860 ":perly.y"
  3193. { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
  3194. break;
  3195. case 190:
  3196. #line 864 ":perly.y"
  3197. { yyval.arg = stab2arg(A_WORD,hadd(stabent(yyvsp[0].cval,TRUE)));
  3198.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
  3199. break;
  3200. case 191:
  3201. #line 867 ":perly.y"
  3202. { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
  3203. break;
  3204. case 192:
  3205. #line 871 ":perly.y"
  3206. { yyval.ival = 1; }
  3207. break;
  3208. case 193:
  3209. #line 873 ":perly.y"
  3210. { yyval.ival = 0; }
  3211. break;
  3212. case 194:
  3213. #line 882 ":perly.y"
  3214. { char *s;
  3215.                 yyval.arg = op_new(1);
  3216.                 yyval.arg->arg_type = O_ITEM;
  3217.                 yyval.arg[1].arg_type = A_SINGLE;
  3218.                 yyval.arg[1].arg_ptr.arg_str = str_make(yyvsp[0].cval,0);
  3219.                 for (s = yyvsp[0].cval; *s && isLOWER(*s); s++) ;
  3220.                 if (dowarn && !*s)
  3221.                 warn(
  3222.                   "\"%s\" may clash with future reserved word",
  3223.                   yyvsp[0].cval );
  3224.                 Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
  3225.             }
  3226. break;
  3227. #line 3228 "y.tab.c"
  3228.     }
  3229.     yyssp -= yym;
  3230.     yystate = *yyssp;
  3231.     yyvsp -= yym;
  3232.     yym = yylhs[yyn];
  3233.     if (yystate == 0 && yym == 0)
  3234.     {
  3235. #if YYDEBUG
  3236.         if (yydebug)
  3237.             fprintf(perldbg, "yydebug: after reduction, shifting from state 0 to\
  3238.  state %d\n", YYFINAL);
  3239. #endif
  3240.         yystate = YYFINAL;
  3241.         *++yyssp = YYFINAL;
  3242.         *++yyvsp = yyval;
  3243.         if (yychar < 0)
  3244.         {
  3245.             if ((yychar = yylex()) < 0) yychar = 0;
  3246. #if YYDEBUG
  3247.             if (yydebug)
  3248.             {
  3249.                 yys = 0;
  3250.                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
  3251.                 if (!yys) yys = "illegal-symbol";
  3252.                 fprintf(perldbg, "yydebug: state %d, reading %d (%s)\n",
  3253.                         YYFINAL, yychar, yys);
  3254.             }
  3255. #endif
  3256.         }
  3257.         if (yychar == 0) goto yyaccept;
  3258.         goto yyloop;
  3259.     }
  3260.     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
  3261.             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
  3262.         yystate = yytable[yyn];
  3263.     else
  3264.         yystate = yydgoto[yym];
  3265. #if YYDEBUG
  3266.     if (yydebug)
  3267.         fprintf(perldbg, "yydebug: after reduction, shifting from state %d \
  3268. to state %d\n", *yyssp, yystate);
  3269. #endif
  3270.     if (yyssp >= yyss + yystacksize - 1)
  3271.     {
  3272.         goto yyoverflow;
  3273.     }
  3274.     *++yyssp = yystate;
  3275.     *++yyvsp = yyval;
  3276.     goto yyloop;
  3277. yyoverflow:
  3278.     yyerror("yacc stack overflow");
  3279. yyabort:
  3280.     return (1);
  3281. yyaccept:
  3282.     return (0);
  3283. }
  3284.